updated workflow #2
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 and Deploy Doc.Nuxeo.com | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- development | ||
jobs: | ||
set-output: | ||
runs-on: doc | ||
outputs: | ||
my_env: ${{ needs.set-output.outputs.my_env }} | ||
steps: | ||
- name: Set Doc Environment based on branch name | ||
id: test | ||
run: | | ||
TARGET_BRANCH=${{ github.ref }} | ||
if [[ "$TARGET_BRANCH" == "refs/heads/main" ]]; then | ||
echo "my_env=production" >> $GITHUB_ENV | ||
echo "my_env=production" >> $GITHUB_PATH | ||
elif [[ "$TARGET_BRANCH" == "refs/heads/development" ]]; then | ||
echo "my_env=development" >> $GITHUB_ENV | ||
echo "my_env=development" >> $GITHUB_PATH | ||
else | ||
echo "my_env=Wrong Environment" >> $GITHUB_ENV | ||
fi | ||
build-and-deploy: | ||
needs: set-output | ||
runs-on: doc | ||
environment: | ||
name: ${{ needs.set-output.outputs.my_env }} | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '14' | ||
- name: Check Versions | ||
id: check-versions | ||
run: | | ||
RT="git $(git --version)" | ||
RT+=" node version $(node --version)" | ||
RT+=" npm version $(npm --version)" | ||
RT+=" IP $(curl -s ipinfo.io/ip)" | ||
echo "RT=${RT}" >> $GITHUB_ENV | ||
- name: Save runtime versions | ||
run: echo "${RT}" > runtime-versions.txt | ||
- name: Install dependencies | ||
run: npm ci --registry="https://registry.npmjs.org" || npm install --registry="https://registry.npmjs.org" | ||
- name: Build | ||
run: ALGOLIA_KEY=${{ secrets.NX_TOKEN }} DEBUG_FILE_LEVEL='debug' npm start | ||
- name: Generate Nginx Redirects | ||
run: | | ||
bin/redirects-yml2nginx > redirects.txt | ||
echo > redirects_pageid.txt | ||
- name: Deploy to Server | ||
run: | | ||
rsync -Waxvuk --delete site/ /opt/www/doc/ | ||
rsync redirects.txt /etc/nginx/redirects.txt | ||
rsync redirects_pageid.txt /etc/nginx/redirects_pageid.txt | ||
service nginx configtest | ||
service nginx restart | ||
- name: Archive Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: build-artifacts | ||
path: | | ||
redirects_pageid.* | ||
redirects.* | ||
*.txt | ||
npm-debug.log |