| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- name: Release
- on:
- release:
- types: [created]
- env:
- REGISTRY: ghcr.io
- IMAGE_NAME: ${{ github.repository }}
- jobs:
- build:
- runs-on: ubuntu-latest
- permissions:
- contents: write
- packages: write
- steps:
- - uses: actions/checkout@v4
- - uses: docker/setup-qemu-action@v3
- - uses: docker/setup-buildx-action@v3
- - uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - uses: docker/metadata-action@v5
- id: meta
- with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- tags: |
- type=ref,event=branch
- type=ref,event=pr
- type=semver,pattern={{version}}
- - uses: docker/build-push-action@v5
- with:
- context: .
- platforms: linux/amd64,linux/arm64
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
- build-args: |
- VERSION=${{ steps.meta.outputs.version }}
- - name: extract amd64 binary from the image
- run: |
- docker create --platform linux/amd64 --name amd64 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} &&
- docker cp amd64:/usr/bin/coroot-node-agent /tmp/coroot-node-agent-amd64
- - name: extract arm64 binary from the image
- run: |
- docker create --platform linux/arm64 --name arm64 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }} &&
- docker cp arm64:/usr/bin/coroot-node-agent /tmp/coroot-node-agent-arm64
- - name: upload amd64 binary
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ github.event.release.upload_url }}
- asset_path: /tmp/coroot-node-agent-amd64
- asset_name: coroot-node-agent-amd64
- asset_content_type: application/octet-stream
- - name: upload arm64 binary
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ github.event.release.upload_url }}
- asset_path: /tmp/coroot-node-agent-arm64
- asset_name: coroot-node-agent-arm64
- asset_content_type: application/octet-stream
- - uses: actions/github-script@v7
- env:
- RELEASE_ID: ${{ github.event.release.id }}
- with:
- script: |
- const { RELEASE_ID } = process.env
- github.rest.repos.updateRelease({
- owner: context.repo.owner,
- repo: context.repo.repo,
- release_id: `${RELEASE_ID}`,
- prerelease: false,
- make_latest: true
- })
-
|