name: ci-build run-name: Building ${{ github.ref_name }} on: push: branches: - "**" tags: - "v[0-9]+*" pull_request: jobs: lint: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: ludeeus/action-shellcheck@2.0.0 build: runs-on: ubuntu-24.04 needs: - lint steps: - name: install mise run: | curl https://mise.run | sh echo "$HOME/.local/share/mise/bin" >> $GITHUB_PATH echo "$HOME/.local/share/mise/shims" >> $GITHUB_PATH - name: install OS dependencies run: | sudo apt-get -y update && \ sudo apt-get -y --no-install-recommends install \ nscd \ libx11-dev - name: setup ffmpeg uses: FedericoCarboni/setup-ffmpeg@v3 with: ffmpeg-version: release - name: checkout uses: actions/checkout@v4 - name: Setup Go 1.24.1 uses: actions/setup-go@v5 with: go-version: '1.24.1' cache: false - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: v1.64.2 - name: check_gomod run: mise run check_gomod - name: test env: DOCKER_API_VERSION: "1.45" run: mise run test_ci - name: test_integration env: DOCKER_API_VERSION: "1.45" run: mise run test_integration_ci release: needs: - lint - build if: startsWith(github.ref, 'refs/tags/v') runs-on: ubuntu-24.04 permissions: contents: write steps: - name: checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Go 1.24.1 uses: actions/setup-go@v5 with: go-version: '1.24.1' - name: install OS dependencies run: | sudo apt-get -y update && \ sudo apt-get -y --no-install-recommends install \ libx11-dev - name: release uses: goreleaser/goreleaser-action@v5 with: version: '~> v2' args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}