Skip to content

Split build copying and commit into separat steps #70 #291

Split build copying and commit into separat steps #70

Split build copying and commit into separat steps #70 #291

Workflow file for this run

name: build 🏭 deploy 🚀
on:
push:
# branches: [main]
#pull_request:
# branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [lts/gallium]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: dist
key: build-${{ env.GITHUB_SHA }}
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Build 🏭
run: |
npm install
npm run build:prod
cp README.md dist && cp -r doc dist
integrate:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/cache@v2
with:
path: dist
key: build-${{ env.GITHUB_SHA }}
- name: Checkout evento-portal
uses: actions/checkout@v2
with:
repository: bkd-mba-fbi/evento-portal
token: ${{ secrets.GITHUB_TOKEN }}
path: ./evento-portal
- name: Copy new build to event-portal
run: |
# Replace all files except settings.js and index.html with the new build, deleting any unnecessary existing files
rsync -av --exclude={settings.js,index.html} --delete dist/webapp-schulverwaltung/ evento-portal/public/apps/webapp-schulverwaltung/
# Replace the styles in the existing index.html with those generated by the new build
# Slashes and backslashes have to be escaped in sed's input string
TMP=$(grep -o '<style>@import.*</noscript>' dist/webapp-schulverwaltung/index.html | sed 's/\\/\\\\/g' | sed 's/\//\\\//g')
sed -i "s/.*@import.*/ $TMP/" evento-portal/public/apps/webapp-schulverwaltung/index.html
- name: Commit and push to evento-portal
run: |
cd ./evento-portal
git add .
git status
# git commit -m "Add new webapp-schulverwaltung build #${{ env.GITHUB_SHA }}"
# git push
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: dist
key: build-${{ env.GITHUB_SHA }}
- name: Zip 🗜️
run: |
(cd dist && zip --recurse-paths webapp-schulverwaltung.zip *)
mv dist/webapp-schulverwaltung dist/app
sed -e "s~https://eventotest.api~$API_URL~g" dist/app/settings.example.js > dist/app/settings.js
- name: Deploy 🚀
if: ${{ !env.ACT }}
uses: JamesIves/[email protected]
with:
branch: gh-pages # The branch the action should deploy to.
folder: dist # The folder the action should deploy.