72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
name: Deploy Website
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
tags:
|
|
- 'v*.*.*'
|
|
|
|
concurrency:
|
|
group: "deploy"
|
|
|
|
jobs:
|
|
deploy-branch:
|
|
if: startsWith(github.ref, 'refs/heads/')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '18'
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
- name: Build Website
|
|
run: ./tasks/build-website.sh -l $(node tasks/get-latest-release.js)
|
|
- name: Check out openlayers.github.io
|
|
uses: actions/checkout@v3
|
|
with:
|
|
repository: openlayers/openlayers.github.io
|
|
ssh-key: ${{ secrets.OPENLAYERS_GITHUB_IO_KEY }}
|
|
path: openlayers.github.io
|
|
- run: |
|
|
cp -r build/site/* openlayers.github.io/dist/
|
|
cd openlayers.github.io
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
git config user.name "$(git --no-pager log --format=format:'%an' -n 1)"
|
|
git config user.email "$(git --no-pager log --format=format:'%ae' -n 1)"
|
|
git add .
|
|
git commit -m "Website updates"
|
|
git push origin main
|
|
fi
|
|
deploy-tag:
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '18'
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
- name: Assert Latest Release
|
|
run: node tasks/newest-tag.js --tag ${GITHUB_REF_NAME}
|
|
- name: Build Website
|
|
run: ./tasks/build-website.sh -l ${GITHUB_REF_NAME} -v ${GITHUB_REF_NAME}
|
|
- name: Check out openlayers.github.io
|
|
uses: actions/checkout@v3
|
|
with:
|
|
repository: openlayers/openlayers.github.io
|
|
ssh-key: ${{ secrets.OPENLAYERS_GITHUB_IO_KEY }}
|
|
path: openlayers.github.io
|
|
- run: |
|
|
cp -r build/site/* openlayers.github.io/dist/
|
|
cd openlayers.github.io
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
git config user.name "$(git --no-pager log --format=format:'%an' -n 1)"
|
|
git config user.email "$(git --no-pager log --format=format:'%ae' -n 1)"
|
|
git add .
|
|
git commit -m "Website updates"
|
|
git push origin main
|
|
fi
|