diff --git a/.github/workflows/verification.yaml b/.github/workflows/verification.yaml new file mode 100644 index 00000000..566bcb21 --- /dev/null +++ b/.github/workflows/verification.yaml @@ -0,0 +1,51 @@ +name: Verification tests + +on: + workflow_dispatch: # To start from UI + schedule: + - cron: "12 0 * * *" # 00:12am UTC daily + +env: + REPOSITORY_OWNER: ${{ github.repository_owner }} + GHCR_REGISTRY: "ghcr.io" + GHCR_REGISTRY_USERNAME: ${{ github.actor }} + GHCR_REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + build: + # prevent running on forks + if: github.repository_owner == 'restatedev' + runs-on: warp-ubuntu-latest-x64-16x # warpbuild runner + timeout-minutes: 250 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log into GitHub container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.GHCR_REGISTRY }} + username: ${{ env.GHCR_REGISTRY_USERNAME }} + password: ${{ env.GHCR_REGISTRY_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Typescript test-services image + id: build + uses: docker/build-push-action@v6 + with: + context: . + file: "packages/restate-e2e-services/Dockerfile" + push: false + load: true + tags: localhost/restatedev/test-services:latest + cache-from: type=gha,scope=${{ github.workflow }} + + - name: Run the verification test + env: + RESTATE_CONTAINER_IMAGE: 'ghcr.io/restatedev/restate:main' + SERVICES_CONTAINER_IMAGE: 'localhost/restatedev/test-services:latest' + run: ./scripts/run-verification.sh \ No newline at end of file