name: CI on: push: branches: [main] paths-ignore: - 'README.md' - 'docs/**' pull_request: branches: [main] paths-ignore: - 'README.md' - 'docs/**' permissions: issues: write pull-requests: write contents: write jobs: build: runs-on: ubuntu-latest outputs: issue-number: ${{ steps.vars.outputs.issue-number }} steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16.x - run: npm ci - run: npm run test - run: npm run package - uses: actions/upload-artifact@v3 with: name: dist path: dist - uses: actions/upload-artifact@v3 with: name: action.yml path: action.yml - id: vars run: | if [[ "${{ github.event_name }}" == "pull_request" ]]; then \ echo "issue-number=${{ github.event.number }}" >> $GITHUB_OUTPUT; \ else \ echo "issue-number=1" >> $GITHUB_OUTPUT; \ fi test: if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository needs: [build] runs-on: ubuntu-latest strategy: matrix: target: [built, committed] steps: - uses: actions/checkout@v3 - if: matrix.target == 'built' || github.event_name == 'pull_request' uses: actions/download-artifact@v3 with: name: dist path: dist - if: matrix.target == 'built' || github.event_name == 'pull_request' uses: actions/download-artifact@v3 with: name: action.yml path: . - name: Test create comment uses: ./ id: couc with: issue-number: ${{ needs.build.outputs.issue-number }} body: | This is a multi-line test comment - With GitHub **Markdown** :sparkles: - Created by [create-or-update-comment][1] [1]: https://github.com/peter-evans/create-or-update-comment reactions: '+1' - name: Test update comment uses: ./ with: comment-id: ${{ steps.couc.outputs.comment-id }} body: | **Edit:** Some additional info reactions: eyes - name: Test add reactions uses: ./ with: comment-id: ${{ steps.couc.outputs.comment-id }} reactions: heart, hooray, laugh package: if: github.event_name == 'push' && github.ref == 'refs/heads/main' needs: [test] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v3 with: name: dist path: dist - name: Create Pull Request uses: peter-evans/create-pull-request@v4 with: commit-message: Update distribution title: Update distribution body: | - Updates the distribution for changes on `main` Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request branch: update-distribution