Test integration on feature branch #70 #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build 🏭 integrate ⛙ zip 🗜️ | |
on: | |
push: | |
branches: [feature/70-integrate-in-portal] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
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@v3 | |
with: | |
path: dist | |
key: build-${{ env.GITHUB_SHA }} | |
- name: Checkout evento-portal | |
uses: actions/checkout@v4 | |
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 obsolete 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 co feature/70-integrate-webapp-schulverwaltung | |
git add . | |
git status | |
git commit -m "Add webapp-schulverwaltung build #${{ env.GITHUB_SHA }}" | |
# git push | |
zip: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
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: Upload | |
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. |