chore: polish repo with community files, README header, and GitHub se… #63
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| permissions: | |
| contents: write | |
| issues: write | |
| pull-requests: write | |
| jobs: | |
| release: | |
| name: Release | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| token: ${{ secrets.SEMANTIC_RELEASE_TOKEN }} | |
| - name: Setup Go | |
| uses: actions/setup-go@v4 | |
| with: | |
| go-version: "1.24.2" | |
| check-latest: true | |
| - name: Run Go tests | |
| run: go test ./... | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: 20 | |
| registry-url: "https://registry.npmjs.org" | |
| always-auth: true | |
| - name: Install dependencies | |
| run: npm ci | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Install semantic-release and plugins | |
| run: npm install -D semantic-release @semantic-release/changelog @semantic-release/git @semantic-release/github @semantic-release/npm | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| - name: Build binaries | |
| run: node build.js | |
| - name: Rename binaries with platform suffixes | |
| run: | | |
| mkdir -p release-assets | |
| cp bin/darwin-amd64/rules-cli release-assets/rules-cli-darwin-amd64 | |
| cp bin/darwin-arm64/rules-cli release-assets/rules-cli-darwin-arm64 | |
| cp bin/linux-x64/rules-cli release-assets/rules-cli-linux-x64 | |
| cp bin/linux-arm64/rules-cli release-assets/rules-cli-linux-arm64 | |
| cp bin/win32-x64/rules-cli.exe release-assets/rules-cli-win32-x64.exe | |
| - name: Semantic Release | |
| id: semantic | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }} | |
| NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| run: npx semantic-release | |
| - name: Upload binaries to release | |
| uses: softprops/action-gh-release@v1 | |
| if: steps.semantic.outputs.new_release_published == 'true' | |
| with: | |
| tag_name: v${{ steps.semantic.outputs.new_release_version }} | |
| files: | | |
| release-assets/rules-cli-darwin-amd64 | |
| release-assets/rules-cli-darwin-arm64 | |
| release-assets/rules-cli-linux-x64 | |
| release-assets/rules-cli-linux-arm64 | |
| release-assets/rules-cli-win32-x64.exe | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |