From f028c5365d9daf17f229bbfbc330defc096b83d8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 6 Jan 2026 12:39:12 +0000 Subject: [PATCH 1/2] Initial plan From cded0ebe5416bc0cd46133c1d5f82364748ccd16 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 6 Jan 2026 12:41:22 +0000 Subject: [PATCH 2/2] Separate release and test workflows into independent files Co-authored-by: mudler <2420543+mudler@users.noreply.github.com> --- .github/workflows/release.yml | 93 +--------------------------------- .github/workflows/tests.yml | 94 +++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 91 deletions(-) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ddcfe703..1556d819 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,102 +1,13 @@ on: push: tags: - - '*' # only test and release when a tag is pushed -concurrency: - group: registries-tests + - '*' # release when a tag is pushed -name: Test and Release on tag +name: Release on tag jobs: - tests-integration-img: - name: Integration tests - runs-on: ubuntu-latest - steps: - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: 1.25.x - - name: Checkout code - uses: actions/checkout@v4 - - name: setup-docker - uses: docker-practice/actions-setup-docker@0.0.1 - - name: Login to quay - run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo -E docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io - - name: Install deps - run: | - sudo apt-get update && sudo apt-get install -y upx && sudo -E env "PATH=$PATH" make deps - sudo curl -fSL "https://github.com/genuinetools/img/releases/download/v0.5.11/img-linux-amd64" -o "/usr/bin/img" - sudo chmod a+x "/usr/bin/img" - - name: Login to quay with img - run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo img login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io - - name: Tests with Img backend - run: | - sudo -E env "PATH=$PATH" \ - env "LUET_BACKEND=img" \ - make test-integration - tests-integration: - name: Integration tests - runs-on: ubuntu-latest - steps: - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: 1.25.x - - name: Checkout code - uses: actions/checkout@v4 - - name: setup-docker - uses: docker-practice/actions-setup-docker@0.0.1 - - name: Login to quay - run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo -E docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io - - name: Install deps - run: | - sudo apt-get update && sudo apt-get install -y upx && sudo -E env "PATH=$PATH" make deps - - name: Tests - run: | - sudo -E \ - env "PATH=$PATH" \ - env "TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ - env "UNIT_TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ - env "UNIT_TEST_DOCKER_IMAGE_REPOSITORY=${{ secrets.DOCKER_TESTING_UNIT_TEST_IMAGE }}" \ - make test-integration - - tests-unit: - name: Unit tests - runs-on: ubuntu-latest - steps: - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: 1.25.x - - name: Checkout code - uses: actions/checkout@v4 - - name: setup-docker - uses: docker-practice/actions-setup-docker@0.0.1 - - name: Login to quay - run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo -E docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io - - name: Install deps - run: | - sudo apt-get update && sudo apt-get install -y upx && sudo -E env "PATH=$PATH" make deps - sudo curl -fSL "https://github.com/genuinetools/img/releases/download/v0.5.11/img-linux-amd64" -o "/usr/bin/img" - sudo chmod a+x "/usr/bin/img" - sudo make build - sudo cp -rf luet /usr/bin/luet - - name: Tests - run: | - sudo -E \ - env "PATH=$PATH" \ - env "TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ - env "UNIT_TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ - env "UNIT_TEST_DOCKER_IMAGE_REPOSITORY=${{ secrets.DOCKER_TESTING_UNIT_TEST_IMAGE }}" \ - make coverage - - name: Codecov - uses: codecov/codecov-action@v5 - with: - file: coverage.txt - release: name: Release runs-on: ubuntu-latest - needs: [ "tests-integration-img", "tests-integration","tests-unit" ] steps: - name: Install Go uses: actions/setup-go@v5 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..1e1d3157 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,94 @@ +on: + push: + tags: + - '*' # only test when a tag is pushed +concurrency: + group: registries-tests + +name: Test on tag +jobs: + tests-integration-img: + name: Integration tests + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: 1.25.x + - name: Checkout code + uses: actions/checkout@v4 + - name: setup-docker + uses: docker-practice/actions-setup-docker@0.0.1 + - name: Login to quay + run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo -E docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io + - name: Install deps + run: | + sudo apt-get update && sudo apt-get install -y upx && sudo -E env "PATH=$PATH" make deps + sudo curl -fSL "https://github.com/genuinetools/img/releases/download/v0.5.11/img-linux-amd64" -o "/usr/bin/img" + sudo chmod a+x "/usr/bin/img" + - name: Login to quay with img + run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo img login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io + - name: Tests with Img backend + run: | + sudo -E env "PATH=$PATH" \ + env "LUET_BACKEND=img" \ + make test-integration + tests-integration: + name: Integration tests + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: 1.25.x + - name: Checkout code + uses: actions/checkout@v4 + - name: setup-docker + uses: docker-practice/actions-setup-docker@0.0.1 + - name: Login to quay + run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo -E docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io + - name: Install deps + run: | + sudo apt-get update && sudo apt-get install -y upx && sudo -E env "PATH=$PATH" make deps + - name: Tests + run: | + sudo -E \ + env "PATH=$PATH" \ + env "TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ + env "UNIT_TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ + env "UNIT_TEST_DOCKER_IMAGE_REPOSITORY=${{ secrets.DOCKER_TESTING_UNIT_TEST_IMAGE }}" \ + make test-integration + + tests-unit: + name: Unit tests + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: 1.25.x + - name: Checkout code + uses: actions/checkout@v4 + - name: setup-docker + uses: docker-practice/actions-setup-docker@0.0.1 + - name: Login to quay + run: echo ${{ secrets.DOCKER_TESTING_PASSWORD }} | sudo -E docker login -u ${{ secrets.DOCKER_TESTING_USERNAME }} --password-stdin quay.io + - name: Install deps + run: | + sudo apt-get update && sudo apt-get install -y upx && sudo -E env "PATH=$PATH" make deps + sudo curl -fSL "https://github.com/genuinetools/img/releases/download/v0.5.11/img-linux-amd64" -o "/usr/bin/img" + sudo chmod a+x "/usr/bin/img" + sudo make build + sudo cp -rf luet /usr/bin/luet + - name: Tests + run: | + sudo -E \ + env "PATH=$PATH" \ + env "TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ + env "UNIT_TEST_DOCKER_IMAGE=${{ secrets.DOCKER_TESTING_IMAGE }}" \ + env "UNIT_TEST_DOCKER_IMAGE_REPOSITORY=${{ secrets.DOCKER_TESTING_UNIT_TEST_IMAGE }}" \ + make coverage + - name: Codecov + uses: codecov/codecov-action@v5 + with: + file: coverage.txt