diff --git a/.github/workflows/example-java17-springboot32x-stable.yaml b/.github/workflows/example-java17-springboot32x-stable.yaml new file mode 100644 index 00000000..2027dad2 --- /dev/null +++ b/.github/workflows/example-java17-springboot32x-stable.yaml @@ -0,0 +1,71 @@ +name: examples/java17-springboot32x (stable) + +on: + workflow_dispatch: + + push: + branches: [ada-dev1419/java17-springboot32x] + paths: + - '.github/workflows/example-java17-springboot32x-stable.yaml' + - 'java17-springboot3.2.x/**' + - '!java17-springboot3.2.x/README.md' + + pull_request: + types: [opened, synchronize, reopened] + branches: [main] + paths: + - '.github/workflows/example-java17-springboot32x-stable.yaml' + - 'java17-springboot3.2.x/**' + - '!java17-springboot3.2.x/README.md' + + schedule: + - cron: '0 15 * * 1-5' + +# Automatically cancel in-progress actions on the same branch +concurrency: + group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }} + cancel-in-progress: true + +env: + UKC_METRO: "https://api.${{ vars.UKC_METRO_STABLE }}.unikraft.cloud/v1" + UKC_TOKEN: ${{ secrets.UKC_TOKEN }} + KRAFTKIT_NO_CHECK_UPDATES: true + KRAFTKIT_LOG_LEVEL: debug + +jobs: + integration: + timeout-minutes: 60 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Test + id: test + uses: unikraft/kraftkit@staging + with: + run: | + set -xe; + cd java17-springboot3.2.x; + kraft cloud deploy \ + --no-start \ + --memory 1024 \ + --name java17-springboot32x-${GITHUB_RUN_ID} \ + --runtime index.unikraft.io/official-testing/base-compat:latest \ + --subdomain java17-springboot32x-${GITHUB_RUN_ID} \ + -p 443:8080 \ + .; + # wait for the instance to start + kraft cloud vm start -w 5s java17-springboot32x-${GITHUB_RUN_ID}; + sleep 5; + curl -Lv --fail-with-body --max-time 10 https://java17-springboot32x-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app/hello + - name: Cleanup + uses: unikraft/kraftkit@staging + if: always() + with: + run: | + set -xe; + kraft cloud vm stop java17-springboot32x-${GITHUB_RUN_ID} || true; + kraft cloud vm logs java17-springboot32x-${GITHUB_RUN_ID} || true; + kraft cloud vm rm java17-springboot32x-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/java17-springboot32x-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-java17-springboot32x-staging.yaml b/.github/workflows/example-java17-springboot32x-staging.yaml new file mode 100644 index 00000000..936aabe4 --- /dev/null +++ b/.github/workflows/example-java17-springboot32x-staging.yaml @@ -0,0 +1,71 @@ +name: examples/java17-springboot32x (staging) + +on: + workflow_dispatch: + + push: + branches: [ada-dev1419/java17-springboot32x] + paths: + - '.github/workflows/example-java17-springboot32x-staging.yaml' + - 'java17-springboot3.2.x/**' + - '!java17-springboot3.2.x/README.md' + + pull_request: + types: [opened, synchronize, reopened] + branches: [main] + paths: + - '.github/workflows/example-java17-springboot32x-staging.yaml' + - 'java17-springboot3.2.x/**' + - '!java17-springboot3.2.x/README.md' + + schedule: + - cron: '0 15 * * 1-5' + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }} + cancel-in-progress: true + +env: + UKC_METRO: "https://api.${{ vars.UKC_METRO_STAGING }}.unikraft.cloud/v1" + UKC_TOKEN: ${{ secrets.UKC_TOKEN }} + KRAFTKIT_NO_CHECK_UPDATES: true + KRAFTKIT_LOG_LEVEL: debug + +jobs: + integration: + timeout-minutes: 60 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Test + id: test + uses: unikraft/kraftkit@staging + with: + run: | + set -xe; + cd java17-springboot3.2.x; + kraft cloud deploy \ + --no-start \ + --memory 1024 \ + --name java17-springboot32x-${GITHUB_RUN_ID} \ + --runtime index.unikraft.io/official-staging/base-compat:latest \ + --subdomain java17-springboot32x-${GITHUB_RUN_ID} \ + -p 443:8080 \ + .; + # wait for the instance to start + kraft cloud vm start -w 5s java17-springboot32x-${GITHUB_RUN_ID}; + sleep 5; + curl -Lv --fail-with-body --max-time 10 https://java17-springboot32x-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app/hello + + - name: Cleanup + uses: unikraft/kraftkit@staging + if: always() + with: + run: | + set -xe; + kraft cloud vm stop java17-springboot32x-${GITHUB_RUN_ID} || true; + kraft cloud vm logs java17-springboot32x-${GITHUB_RUN_ID} || true; + kraft cloud vm rm java17-springboot32x-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/java17-springboot32x-${GITHUB_RUN_ID} || true;