fix: test changes #7
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 Finch Daemon | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - '**.md' | |
| pull_request: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - '**.md' | |
| workflow_dispatch: | |
| env: | |
| GO_VERSION: '1.22.7' | |
| permissions: | |
| contents: write | |
| deployments: write | |
| jobs: | |
| get-latest-tag: | |
| name: Get the latest release tag | |
| runs-on: ubuntu-latest | |
| outputs: | |
| tag: ${{ steps.latest-tag.outputs.tag }} | |
| steps: | |
| - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
| with: | |
| fetch-depth: 0 | |
| - name: 'Get the latest tag' | |
| id: latest-tag | |
| uses: "WyriHaximus/github-action-get-previous-tag@04e8485ecb6487243907e330d522ff60f02283ce" # v1.4.0 | |
| generate-artifacts: | |
| needs: get-latest-tag | |
| runs-on: ubuntu-22.04 | |
| container: | |
| image: public.ecr.aws/ubuntu/ubuntu:20.04 | |
| env: | |
| # Set during setup. | |
| RELEASE_TAG: ${{ needs.get-latest-tag.outputs.tag }} | |
| DYNAMIC_BINARY_NAME: '' | |
| STATIC_BINARY_NAME: '' | |
| steps: | |
| - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
| with: | |
| fetch-tags: true | |
| - uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache: false | |
| - name: Install Dependencies | |
| run: ./install-build-deps.sh | |
| - name: 'Echo RELEASE_TAG ENV' | |
| run: echo ${{ env.RELEASE_TAG }} | |
| - name: Install Go licenses | |
| run: go install github.com/google/go-licenses@latest | |
| - name: Create Third Party Licences File | |
| run: make licenses | |
| - name: setup static dependecies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install libc6-dev -f | |
| - name: Create release binaries | |
| run: make RELEASE_TAG=${{ env.RELEASE_TAG }} release | |
| - name: Verify Release version | |
| run: | | |
| mkdir -p output/static output/dynamic | |
| tar -xzf release/${{ env.DYNAMIC_BINARY_NAME }} -C ./output/dynamic | |
| tar -xzf release/${{ env.STATIC_BINARY_NAME }} -C ./output/static | |
| DYNAMIC_BINARY_VERSION=$(./output/dynamic/finch-daemon --version | grep -oP '\d+\.\d+\.\d+') | |
| STATIC_BINARY_VERSION=$(./output/static/finch-daemon --version | grep -oP '\d+\.\d+\.\d+') | |
| export release_tag=${{ env.RELEASE_TAG }} | |
| export release_version=${release_tag/v/} | |
| if ["$STATIC_BINARY_VERSION" != "$release_version"] || ["$DYNAMIC_BINARY_VERSION" != "$release_version"]; then | |
| echo "Version mismatch" | |
| exit 1 | |
| fi | |
| shell: bash | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts | |
| path: release/ | |
| if-no-files-found: error | |
| outputs: | |
| release_tag: ${{ env.RELEASE_TAG }} | |
| dynamic_binary_name: ${{ env.DYNAMIC_BINARY_NAME }} | |
| static_binary_name: ${{ env.STATIC_BINARY_NAME }} | |
| validate-artifacts: | |
| needs: generate-artifacts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts | |
| path: release/ | |
| - run: bash scripts/verify-release-artifacts.sh ${{ needs.generate-artifacts.outputs.release_tag }} | |
| # create-release: | |
| # needs: [generate-artifacts, validate-artifacts] | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - uses: actions/download-artifact@v4 | |
| # with: | |
| # name: artifacts | |
| # - uses: softprops/action-gh-release@v2 | |
| # with: | |
| # tag_name: ${{ needs.generate-artifacts.outputs.release_tag }} | |
| # prerelease: false | |
| # generate_release_notes: false | |
| # files: | | |
| # ${{ needs.generate-artifacts.outputs.dynamic_binary_name }} | |
| # ${{ needs.generate-artifacts.outputs.dynamic_binary_name }}.sha256sum | |
| # ${{ needs.generate-artifacts.outputs.static_binary_name }} | |
| # ${{ needs.generate-artifacts.outputs.static_binary_name }}.sha256sum |