Skip to content

Upgrade GitHub Actions to checkout@v6 and setup-node@v6 #140

Upgrade GitHub Actions to checkout@v6 and setup-node@v6

Upgrade GitHub Actions to checkout@v6 and setup-node@v6 #140

name: Deploy Pull Request to test server
on:
pull_request:
types: [edited, synchronize]
jobs:
test:
if: contains( github.event.pull_request.labels.*.name, 'deploy-pr')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: sudo apt-get update
- run: sudo apt-get install -y libkrb5-dev
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: Install modules
run: deno install
- name: Lint
run: deno lint
- name: Test
run: deno test --no-check --allow-read --allow-sys --allow-env --allow-write --allow-run
build:
if: contains( github.event.pull_request.labels.*.name, 'deploy-pr')
needs: test
runs-on: wgd-dev
steps:
- uses: actions/checkout@v4
- name: Build action runner
run: docker build -t "wgd-action-runner:pr-${{ github.event.number }}" --build-arg "GIT_SHA=${{ github.sha }}" apps/wgd-action-runner
- name: build
uses: docker/build-push-action@v6
with:
tags: "wikigdrive-feature:${{ github.sha }}"
push: false
build-args: |
GIT_SHA=${{ github.sha }}
BUILD_UI=yes
- name: Build docs
run: |
docker run \
-v "/var/www/pr-${{ github.event.number }}.wikigdrive.com:/usr/src/app/website/.vitepress/dist" \
-e "GIT_SHA=${{ github.sha }}" \
"wikigdrive-feature:${{ github.sha }}" deno task -f wikigdrive-website build
- name: Stop and remove
run: docker stop "pr-${{ github.event.number }}" ; docker rm "pr-${{ github.event.number }}"
continue-on-error: true
- name: "Create empty volume"
run: docker volume create "pr-${{ github.event.number }}"
continue-on-error: true
- name: Start
run: |
docker run -d --name "pr-${{ github.event.number }}" \
--cpu-period=100000 --cpu-quota=800000 --memory=8192m \
--restart unless-stopped \
--network nginx \
--tmpfs /tmp \
-v "pr-${{ github.event.number }}":/data \
-v /home/wikigdrive/service_account.json:/service_account.json \
-v /home/wikigdrive/env.pr:/usr/src/app/.env \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/podman/podman.sock:/var/run/podman/podman.sock \
-v "/var/www/pr-${{ github.event.number }}.wikigdrive.com:/usr/src/app/website/.vitepress/dist" \
-v "/srv/overlay_mounts:/srv/overlay_mounts" \
-e "DOMAIN=https://pr-${{ github.event.number }}.wikigdrive.com" \
-e "GIT_SHA=${{ github.sha }}" \
-e "ZIPKIN_URL=https://pr-${{ github.event.number }}.wikigdrive.com/zipkin" \
-e "ZIPKIN_SERVICE=pr-${{ github.event.number }}" \
-e "AUTH_DOMAIN=https://dev.wikigdrive.com" \
-e "AUTH_INSTANCE=pr-${{ github.event.number }}" \
-e "DOMAIN=https://pr-${{ github.event.number }}.wikigdrive.com" \
-e "ACTION_IMAGE=wgd-action-runner:pr-${{ github.event.number }}" \
"wikigdrive-feature:${{ github.sha }}" wikigdrive \
--service_account /service_account.json \
--share_email mie-docs-wikigdrive@wikigdrive.iam.gserviceaccount.com \
--workdir /data \
server 3000 \
--disable_google_watch
remove:
if: github.event.pull_request.head.ref != 'develop' && !contains( github.event.pull_request.labels.*.name, 'deploy-pr')
runs-on: wgd-dev
steps:
- name: Stop and remove
run: docker stop "pr-${{ github.event.number }}" ; docker rm "pr-${{ github.event.number }}"
continue-on-error: true