Skip to content

Feature/gh actions

Feature/gh actions #1

name: Build and Release Performous
# Controls when the workflow will run
on:
# Run on a schedule to get weekly updates for the Linux containers
# and keep the cache fresh for Windows builds. Runs Sundays at midnight.
schedule:
- cron: "0 0 * * 0"
# Triggers the workflow on merges to master, release branches,
# all PRs, and release tags
push:
branches:
- master
# On anything pull request related
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Note: entire jobs or sections can be disabled by adding
# if: ${{ false }} to the definition column
jobs:
# Builds the website
build_website:
name: Build Performous website
runs-on: ubuntu-latest
steps:
- name: Checkout Performous Web
uses: actions/checkout@v3
with:
path: ${{ github.workspace }}/web
repository: ${{ github.event.repository.full_name }}
ref: '${{ github.event.head.ref }}'
fetch-depth: 0
- name: Build Webconv
id: webconv
run: |
cd web
echo "Compiling webconv so we can still dynamicly make our website."
g++ webconv/webconv.cpp -o webconv/webconv
- name: Build & publish site
id: build
#if: ${{ github.ref == 'refs/heads/master' }}
run: |
if [ -d ./web-output ]; then
rm -Rfv ./web-output
fi
mkdir web-output
./webconv/webconv ./htdocs-source ./web-output
if [[ $GITHUB_REF != "master" ]]; then
echo "stop execution here since we're not on the master branch."
else
cp -rp ./htdocs-binary/* ./web-output
cd ./web
git config user.email '[email protected]'
git config user.name 'Performous Website Bot'
git config push.default simple
git add -A
git commit -am "Update website from commit $SEMAPHORE_GIT_SHA"
#git push
echo "Visit https://performous.org for the update of the website."
fi