diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-09-12 20:27:23 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-09-13 16:32:00 +0200 |
| commit | fd208941622cd559a0c3a196a0754a1b33db402b (patch) | |
| tree | f82fce23f83ae5e700475a1fe164728fad1574c1 /.github/workflows | |
| parent | 7bec1a7ab414f45fda516dd5b5e48bbe623a50f4 (diff) | |
ci(site): Add GitHub Actions workflow for deploying website
This change adds a new GitHub Actions workflow for building and
deploying the OpenDC website (documentation) built using Docusaurus.
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build.yml | 73 | ||||
| -rw-r--r-- | .github/workflows/deploy.yml | 7 | ||||
| -rw-r--r-- | .github/workflows/pages.yml | 57 |
3 files changed, 111 insertions, 26 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64eba648..b73038cc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,9 +2,9 @@ name: Build on: pull_request: - branches: [master] + branches: [ master ] push: - branches: [master] + branches: [ master ] jobs: build: @@ -12,8 +12,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest] - java: [11, 17, 18] + os: [ ubuntu-latest ] + java: [ 11, 17, 18 ] include: - os: windows-latest java: 18 @@ -57,21 +57,50 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} files: ./build/reports/jacoco/codeCoverageReport/codeCoverageReport.xml build-docker: - name: Build Docker Images - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - name: Build UI - uses: docker/build-push-action@v3 - with: - context: opendc-web/opendc-web-ui - file: opendc-web/opendc-web-ui/Dockerfile - - name: Build Web Server - uses: docker/build-push-action@v3 - with: - file: opendc-web/opendc-web-server/Dockerfile - - name: Build Runner - uses: docker/build-push-action@v3 - with: - file: opendc-web/opendc-web-runner/Dockerfile + name: Build Docker Images + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Build UI + uses: docker/build-push-action@v3 + with: + context: opendc-web/opendc-web-ui + file: opendc-web/opendc-web-ui/Dockerfile + - name: Build Web Server + uses: docker/build-push-action@v3 + with: + file: opendc-web/opendc-web-server/Dockerfile + - name: Build Runner + uses: docker/build-push-action@v3 + with: + file: opendc-web/opendc-web-runner/Dockerfile + build-docs: + defaults: + run: + working-directory: site + name: Build Docs + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: "16" + cache: 'npm' + cache-dependency-path: site/package-lock.json + - name: Setup Pages + id: pages + uses: actions/configure-pages@v1 + - name: Install dependencies + run: npm ci + - name: Build with Docusaurus + run: npm run build + env: + DOCUSAURUS_URL: ${{ steps.pages.outputs.origin }} + DOCUSAURUS_BASE_PATH: ${{ steps.pages.outputs.base_path }} + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./site/build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fcf5a76e..70c35d37 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,12 +1,11 @@ -name: Deploy to opendc.org +name: Deploy app.opendc.org on: push: - branches: - - prod + branches: ["prod"] jobs: - deploy: + deploy-app: runs-on: ubuntu-latest steps: - name: Create SSH key diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 00000000..aa10c2eb --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,57 @@ +name: Deploy opendc.org + +on: + push: + branches: ["master"] + workflow_dispatch: + +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + build: + defaults: + run: + working-directory: site + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: "16" + cache: 'npm' + cache-dependency-path: site/package-lock.json + - name: Setup Pages + id: pages + uses: actions/configure-pages@v1 + - name: Install dependencies + run: npm ci + - name: Build with Docusaurus + run: npm run build + env: + DOCUSAURUS_URL: ${{ steps.pages.outputs.origin }} + DOCUSAURUS_BASE_PATH: ${{ steps.pages.outputs.base_path }} + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./site/build + + deploy: + needs: build + + permissions: + contents: read + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 |
