ci: include reserved_storage no-space tests in e2e job #1664
Workflow file for this run
This file contains hidden or 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: Aklite CI Tests | |
| on: | |
| push: | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| checks: write | |
| pull-requests: write | |
| contents: read | |
| packages: write | |
| jobs: | |
| clang: | |
| name: Clang Format And Tidy | |
| runs-on: ubuntu-latest | |
| container: | |
| image: foundries/aklite-dev | |
| env: | |
| CXX: clang++ | |
| CC: clang | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory /__w/aktualizr-lite/aktualizr-lite | |
| - run: git submodule update --init --recursive | |
| - name: config | |
| run: make -f dev-flow.mk config | |
| - name: format | |
| run: make -f dev-flow.mk format | |
| - name: tidy | |
| run: make -f dev-flow.mk tidy | |
| refresh-ccache-dev: | |
| name: Refresh ccache for development environment | |
| runs-on: ubuntu-latest | |
| container: | |
| image: foundries/aklite-dev | |
| env: | |
| CXX: clang++ | |
| CC: clang | |
| CCACHE_DIR: /__w/aktualizr-lite/aktualizr-lite/.ccache | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory /__w/aktualizr-lite/aktualizr-lite | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: /__w/aktualizr-lite/aktualizr-lite/.ccache | |
| key: dev-ccache-${{ github.sha }} | |
| restore-keys: | | |
| dev-ccache- | |
| - name: build | |
| run: make -f dev-flow.mk config build | |
| refresh-ccache-e2e: | |
| name: Refresh ccache for e2e tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| garage-tools: | |
| name: Build Garage Tools | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-dev | |
| container: | |
| image: foundries/aklite-dev | |
| env: | |
| CXX: clang++ | |
| CC: clang | |
| CCACHE_DIR: /__w/aktualizr-lite/aktualizr-lite/.ccache | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - run: git config --global --add safe.directory /__w/aktualizr-lite/aktualizr-lite | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: /__w/aktualizr-lite/aktualizr-lite/.ccache | |
| key: dev-ccache-garage-${{ github.sha }} | |
| restore-keys: | | |
| dev-ccache-garage- | |
| dev-ccache- | |
| - name: build garage tools | |
| run: make -f dev-flow.mk garage-tools | |
| - name: check garage tools | |
| run: | | |
| if [[ ! -f build-garage/aktualizr/src/sota_tools/garage-sign/bin/garage-sign ]]; then | |
| echo "Failed to build garage-sign!" | |
| exit 1 | |
| fi | |
| if [[ ! -f build-garage/aktualizr/src/sota_tools/garage-push ]]; then | |
| echo "Failed to build garage-push!" | |
| exit 1 | |
| fi | |
| test: | |
| name: Tests | |
| needs: refresh-ccache-dev | |
| runs-on: ubuntu-latest | |
| container: | |
| image: foundries/aklite-dev | |
| env: | |
| CXX: clang++ | |
| CC: clang | |
| CCACHE_DIR: /__w/aktualizr-lite/aktualizr-lite/.ccache | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - run: git config --global --add safe.directory /__w/aktualizr-lite/aktualizr-lite | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: /__w/aktualizr-lite/aktualizr-lite/.ccache | |
| key: dev-ccache-${{ github.sha }} | |
| restore-keys: | | |
| dev-ccache- | |
| - name: test | |
| run: make -f dev-flow.mk config build test | |
| e2e-test-basic-online-single-step: | |
| name: Basic online, single step end-to-end tests | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_incremental_updates[False-True or test_update_to_latest[False-True' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} | |
| e2e-test-basic-online-granular-steps-no-delay-apps: | |
| name: Basic online, granular steps, no delay start apps end-to-end tests | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_incremental_updates[False-False-False or test_update_to_latest[False-False' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} | |
| e2e-test-basic-online-granular-steps-delay-apps: | |
| name: Basic online, granular steps, delay start apps end-to-end tests | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_incremental_updates[False-False-True' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} | |
| e2e-test-basic-offline-single-step: | |
| name: Basic offline, single step end-to-end tests | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_incremental_updates[True-True or test_update_to_latest[True-True' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} | |
| E2E_TEST_OSTREE_TGZ: ${{ secrets.E2E_TEST_OSTREE_TGZ }} | |
| e2e-test-basic-offline-granular-steps-no-delay-apps: | |
| name: Basic offline, granular steps, no delay start apps end-to-end tests | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_incremental_updates[True-False-False or test_update_to_latest[True-False' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} | |
| E2E_TEST_OSTREE_TGZ: ${{ secrets.E2E_TEST_OSTREE_TGZ }} | |
| e2e-test-basic-offline-granular-steps-delay-apps: | |
| name: Basic offline, granular steps, delay start apps end-to-end tests | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_incremental_updates[True-False-True' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} | |
| E2E_TEST_OSTREE_TGZ: ${{ secrets.E2E_TEST_OSTREE_TGZ }} | |
| e2e-test-1: | |
| name: End-to-end tests additional set | |
| runs-on: ubuntu-latest | |
| needs: refresh-ccache-e2e | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: git config --global --add safe.directory ${{ github.workspace }} | |
| - run: git submodule update --init --recursive | |
| - name: Restore ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.ccache | |
| key: e2e-ccache-${{ github.sha }} | |
| restore-keys: | | |
| e2e-ccache- | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Check if image exists # Fallback to master image if branch-specific image doesn't exist | |
| id: check_image | |
| run: | | |
| if docker manifest inspect ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }} > /dev/null 2>&1; then | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:${{ github.ref_name }}" >> $GITHUB_ENV | |
| else | |
| echo "AKLITE_E2E_IMAGE=ghcr.io/${{ github.repository }}/aklite-e2e-test:master" >> $GITHUB_ENV | |
| fi | |
| - run: ./dev-shell-e2e-test.sh make -f dev-flow.mk config build | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| - run: ./dev-shell-e2e-test.sh pytest docker-e2e-test/e2e-test.py -k 'test_no_space[False or test_no_space_reserved_storage[False or test_reserved_storage_low_allows_update[False or test_forced_sync or test_bad_network or test_kill_process' | |
| env: | |
| AKLITE_E2E_IMAGE: ${{ env.AKLITE_E2E_IMAGE }} | |
| FACTORY: ${{ secrets.E2E_TEST_FACTORY }} | |
| BASE_TARGET_VERSION: ${{ secrets.E2E_TEST_BASE_TARGET_VERSION }} | |
| USER_TOKEN: ${{ secrets.E2E_TEST_USER_TOKEN }} | |
| TAG: ${{secrets.E2E_TEST_TAG}} |