name: Publish Docker Image # NOTE: For this action to work, you must enable write permissions in your github repository settings. # Settings -> Actions -> General. "Workflow Permissions". Select "Read and write permissions". # If you forget to enable, the action will fail on push with a 401 error. Just re-run the failed action after enabling. on: push: tags: - "v[0-9]+.[0-9]+.[0-9]+" # ignore rc concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: GO_VERSION: 1.22 REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: release-image: runs-on: ubuntu-latest steps: - name: Check out the repo uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 # all lowercase ghcr registry - run: | DOCKER_REGISTRY=`echo "${{ env.REGISTRY }}/${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]'` echo "DOCKER_REGISTRY=$DOCKER_REGISTRY" >> $GITHUB_ENV REPO_NAME=`echo "${{ github.repository }}" | awk -F'/' '{print $2}' | tr '[:upper:]' '[:lower:]'` echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV - name: Parse tag id: tag run: | # v0.0.1 VERSION=$(echo ${{ github.ref_name }} | sed "s/v//") # 0.0.1 echo "VERSION=$VERSION" >> $GITHUB_ENV # build and publish package to ghcr (public) with codebase remaining private - name: Log in to the Container registry uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} # make sure to update package to be public in repo ghcr settings - name: Build and push Docker image uses: strangelove-ventures/heighliner-build-action@v1.0.0 with: # v0.0.1 git-ref: ${{ github.ref_name }} chain: ${{ env.REPO_NAME}} dockerfile: cosmos registry: ${{ env.DOCKER_REGISTRY }} build-target: | cd .. make install local: true binaries: | - /go/bin/sonrd build-env: | - BUILD_TAGS=muslc