ci: test one binary on build #16
This file contains 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: Publish | |
on: | |
push: | |
branches: | |
- main | |
release: | |
types: | |
- created | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5 | |
with: | |
go-version: '^1.22.2' | |
- run: make promu | |
- run: promu crossbuild -v | |
- name: Store binaries artifacts | |
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 | |
with: | |
name: build | |
path: .build | |
- name: Test binary | |
run: .build/linux-amd64/twitch_exporter --help | |
publish: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
- name: Download binaries artifacts | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 | |
with: | |
name: build | |
path: .build | |
# See https://github.com/actions/upload-artifact/issues/38 | |
- name: Fix permission on binaries artifacts | |
run: find . -type f -name 'twitch_exporter' -exec chmod +x {} + | |
- name: Login to Docker Hub | |
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- run: make docker DOCKER_IMAGE_TAG="${{ github.ref_name }}" | |
- run: make docker-publish DOCKER_IMAGE_TAG="${{ github.ref_name }}" | |
- run: make docker-manifest DOCKER_IMAGE_TAG="${{ github.ref_name }}" | |
- if: startsWith(github.ref, 'refs/tags/v') | |
run: | | |
make docker-tag-latest DOCKER_IMAGE_TAG="${{ github.ref_name }}" | |
make docker-publish DOCKER_IMAGE_TAG="latest" | |
make docker-manifest DOCKER_IMAGE_TAG="latest" | |
- run: docker run docker.io/damoun/twitch-exporter-linux-amd64:main --help |