diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..4ecefbec --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,67 @@ +name: "Spec" +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + build-openapi: + name: "🐍 Build OpenAPI definitions for matrix.org" + runs-on: ubuntu-latest + container: "python:3.9" + steps: + - name: "📥 Source checkout" + uses: actions/checkout@v2 + - name: "📦 Asset creation" + run: | + python3 -m venv env && . env/bin/activate + pip install -r scripts/requirements.txt + scripts/generate-matrix-org-assets + - name: "📤 Artifact upload" + uses: actions/upload-artifact@v2 + with: + name: openapi-artifact + path: assets.tar.gz + + build-spec: + name: "📖 Build the spec" + runs-on: ubuntu-latest + steps: + - name: "➕ Setup Node" + uses: actions/setup-node@v2 + with: + node-version: '14' + - name: "➕ Setup Hugo" + uses: peaceiris/actions-hugo@c03b5dbed22245418539b65eb9a3b1d5fdd9a0a6 + with: + hugo-version: '0.85.0' + extended: true + - name: "📥 Source checkout" + uses: actions/checkout@v2 + with: + submodules: 'recursive' + - name: "⚙️ npm" + run: | + npm i + npm run get-proposals + - name: "⚙️ hugo" + run: hugo --baseURL "/unstable" -d "spec" + - name: "📦 Tarball creation" + run: tar -czf spec.tar.gz spec + - name: "📤 Artifact upload" + uses: actions/upload-artifact@v2 + with: + name: spec-artifact + path: spec.tar.gz + + rebuild-matrixdotorg: + name: "👷 Rebuild matrix.org" + needs: build-openapi + runs-on: ubuntu-latest + if: ${{ false && github.event_name == 'push' && github.ref == 'refs/head/main' }} + steps: + - name: "🪄 Triggering rebuild of matrix.org" + run: | + curl -XPOST -u "${{secrets.TRIGGER_MATRIXORG_REBUILD_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/${{ github.repository_owner }}/matrix.org/actions/workflows/build-matrix.org.yml/dispatches --data '{"ref": "${{ github.ref }}" }'