82 lines
2.1 KiB
YAML
82 lines
2.1 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [ "master" ]
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name != 'push' || !contains(github.event.head_commit.message, 'ci skip') }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: https://codeberg.org/mlugg/setup-zig@v2
|
|
|
|
- name: Install MPSS
|
|
run: |
|
|
set -euxo pipefail
|
|
|
|
apt-get update
|
|
apt-get install -y unzip curl
|
|
|
|
MPSS_URL="https://drive.kbz8.me/dav/public-files/KSKeiOKxnFPyfws/mpss.zip"
|
|
MPSS_ZIP="/tmp/mpss.zip"
|
|
MPSS_BIN="/opt/mpss/3.8.6/sysroots/k1om-mpss-linux/bin"
|
|
|
|
curl --fail --location --show-error --progress-bar "$MPSS_URL" -o "$MPSS_ZIP"
|
|
|
|
size="$(stat -c%s "$MPSS_ZIP")"
|
|
test "$size" -gt 300000000
|
|
|
|
unzip -t "$MPSS_ZIP" >/dev/null
|
|
|
|
rm -rf /opt/mpss
|
|
unzip -q "$MPSS_ZIP" -d /opt
|
|
chmod -R a+rX /opt/mpss
|
|
|
|
test -d "$MPSS_BIN"
|
|
|
|
# Append as fallback for following CI steps.
|
|
echo "PATH=$PATH:$MPSS_BIN" >> "$GITHUB_ENV"
|
|
|
|
echo "MPSS installed."
|
|
|
|
- name: Check MPSS PATH
|
|
run: |
|
|
echo "$PATH"
|
|
ls -la /opt/mpss/3.8.6/sysroots/k1om-mpss-linux/bin | head -50
|
|
|
|
- name: Building Ape
|
|
run: zig build ape --release=safe
|
|
|
|
- name: Building Soft
|
|
run: zig build soft --release=safe
|
|
|
|
- name: Building Flint
|
|
run: zig build flint --release=safe
|
|
|
|
- name: Building Phi
|
|
run: zig build phi --release=safe
|
|
|
|
- name: Generating docs
|
|
run: zig build docs
|
|
|
|
- name: Deploying docs
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
|
uses: milanmk/actions-file-deployer@master
|
|
with:
|
|
remote-protocol: sftp
|
|
remote-host: ${{ secrets.SFTP_HOST_DOCS }}
|
|
remote-user: ${{ secrets.SFTP_USER_DOCS }}
|
|
remote-password: ${{ secrets.SFTP_PASSWORD_DOCS }}
|
|
remote-port: 6969
|
|
local-path: "./zig-out/docs"
|
|
remote-path: "/www"
|
|
sync: full
|