From e6726dd537b5c86a466820c7918b411a0995802b Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Mon, 26 Feb 2024 10:09:37 +0100 Subject: [PATCH 1/5] Require order of jobs --- .github/workflows/build_base_dev.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_base_dev.yaml b/.github/workflows/build_base_dev.yaml index 17ddf615..bf546495 100644 --- a/.github/workflows/build_base_dev.yaml +++ b/.github/workflows/build_base_dev.yaml @@ -79,5 +79,6 @@ jobs: cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new bundle: + needs: docker uses: ./.github/workflows/build_bundle_dev.yaml secrets: inherit From 72c31af0d40984957074e5ed0c2289f90eb323e1 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Mon, 26 Feb 2024 10:10:01 +0100 Subject: [PATCH 2/5] Automatically detect version --- .github/workflows/build_base.yaml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_base.yaml b/.github/workflows/build_base.yaml index 1a03d9cb..5a02cc8e 100644 --- a/.github/workflows/build_base.yaml +++ b/.github/workflows/build_base.yaml @@ -8,19 +8,39 @@ on: - "**" jobs: + versions: + runs-on: ubuntu-latest + outputs: + coreversion: ${{ steps.core.outputs.version }} + steps: + - name: Checkout core repo + uses: actions/checkout@v4 + with: + repository: datarhei/core + path: ./core + + - name: Get latest version from core + id: core + run: | + echo "version=$(cat ./core/app/version.go | grep -E -o '(Major|Minor|Patch): [0-9]+,' | sed -E 's/^.*: ([0-9]+),.*$/\1/g' | paste -sd '.' - )" >> "$GITHUB_OUTPUT" + + - name: Show versions + run: | + echo "core: ${{ steps.core.outputs.version }}" + docker: runs-on: [self-hosted] strategy: matrix: include: - - core: "16.14.0" + - core: ${{ needs.versions.outputs.coreversion }} os: alpine os_version: "3.19" golang: golang:1.21-alpine3.19 platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 branch: main latest: yes - - core: "16.14.0" + - core: ${{ needs.versions.outputs.coreversion }} os: ubuntu os_version: "20.04" golang: golang:1.21-alpine3.19 From 6a62248b129e2866041ecaca2f6cbd320077abd9 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Mon, 26 Feb 2024 10:13:23 +0100 Subject: [PATCH 3/5] Remove schedule from main, add schedule to dev --- .github/workflows/build_base_dev.yaml | 2 ++ .github/workflows/build_bundle.yaml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_base_dev.yaml b/.github/workflows/build_base_dev.yaml index bf546495..38261c89 100644 --- a/.github/workflows/build_base_dev.yaml +++ b/.github/workflows/build_base_dev.yaml @@ -3,6 +3,8 @@ name: "Build dev base" on: workflow_dispatch: workflow_call: + schedule: + - cron: "7 4 * * *" push: branches: - dev diff --git a/.github/workflows/build_bundle.yaml b/.github/workflows/build_bundle.yaml index cb839aac..1592029b 100644 --- a/.github/workflows/build_bundle.yaml +++ b/.github/workflows/build_bundle.yaml @@ -3,8 +3,6 @@ name: "Build main bundles" on: workflow_dispatch: workflow_call: - schedule: - - cron: "7 5 * * *" push: branches-ignore: - "**" From bcf9efcac6496fde5742fc9428843516dc2d86e2 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Mon, 26 Feb 2024 10:20:31 +0100 Subject: [PATCH 4/5] Autodetect version for bundle --- .github/workflows/build_base.yaml | 1 + .github/workflows/build_bundle.yaml | 29 +++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_base.yaml b/.github/workflows/build_base.yaml index 5a02cc8e..4479549f 100644 --- a/.github/workflows/build_base.yaml +++ b/.github/workflows/build_base.yaml @@ -29,6 +29,7 @@ jobs: echo "core: ${{ steps.core.outputs.version }}" docker: + needs: versions runs-on: [self-hosted] strategy: matrix: diff --git a/.github/workflows/build_bundle.yaml b/.github/workflows/build_bundle.yaml index 1592029b..c8562558 100644 --- a/.github/workflows/build_bundle.yaml +++ b/.github/workflows/build_bundle.yaml @@ -8,12 +8,33 @@ on: - "**" jobs: + versions: + runs-on: ubuntu-latest + outputs: + coreversion: ${{ steps.core.outputs.version }} + steps: + - name: Checkout core repo + uses: actions/checkout@v4 + with: + repository: datarhei/core + path: ./core + + - name: Get latest version from core + id: core + run: | + echo "version=$(cat ./core/app/version.go | grep -E -o '(Major|Minor|Patch): [0-9]+,' | sed -E 's/^.*: ([0-9]+),.*$/\1/g' | paste -sd '.' - )" >> "$GITHUB_OUTPUT" + + - name: Show versions + run: | + echo "core: ${{ steps.core.outputs.version }}" + docker: + needs: versions runs-on: [self-hosted] strategy: matrix: include: - - core: "16.14.0" + - core: ${{ needs.versions.outputs.coreversion }} core_os: alpine3.19 ffmpeg: "5.1.3" ffmpeg_os: alpine3.16 @@ -21,7 +42,7 @@ jobs: branch: main prefix: latest: yes - - core: "16.14.0" + - core: ${{ needs.versions.outputs.coreversion }} core_os: alpine3.19 ffmpeg: "5.1.3-rpi" ffmpeg_os: alpine3.16 @@ -29,7 +50,7 @@ jobs: branch: main prefix: rpi- latest: yes - - core: "16.14.0" + - core: ${{ needs.versions.outputs.coreversion }} core_os: ubuntu20.04 ffmpeg: "5.1.3-vaapi" ffmpeg_os: ubuntu20.04 @@ -37,7 +58,7 @@ jobs: branch: main prefix: vaapi- latest: yes - - core: "16.14.0" + - core: ${{ needs.versions.outputs.coreversion }} core_os: ubuntu20.04 ffmpeg: "5.1.3-cuda" ffmpeg_os: ubuntu20.04 From 06b959ca83e23db3f3e620da86edb5700c615bf8 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Thu, 29 Feb 2024 15:12:37 +0100 Subject: [PATCH 5/5] Upgrade actions, go version --- .github/workflows/go-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/go-tests.yml b/.github/workflows/go-tests.yml index d0b86012..cd55ecfb 100644 --- a/.github/workflows/go-tests.yml +++ b/.github/workflows/go-tests.yml @@ -6,16 +6,16 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 2 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@v5 with: - go-version: "1.19" + go-version: "1.22" - name: Run coverage run: go test -coverprofile=coverage.out -covermode=atomic -v ./... - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.out