Skip to content

CI

CI #235

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
schedule:
# Run weekly on Monday at 09:37 Asia/Shanghai to catch regressions from
# dependency updates or external API changes.
- cron: "37 1 * * 1"
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
jobs:
unix:
name: ${{ matrix.os }} / bash
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Run tests
run: make test
- name: Install standalone CLI
env:
EASYGATE_HOME: ${{ runner.temp }}/easygate-standalone
EASYGATE_LOCAL_CLI: ${{ github.workspace }}/scripts/easygate
run: ./scripts/install.sh
- name: Check standalone CLI
env:
EASYGATE_HOME: ${{ runner.temp }}/easygate-standalone
run: |
"$EASYGATE_HOME/bin/easygate" version
"$EASYGATE_HOME/bin/easygate" home
- name: Run local acceptance
env:
EASYGATE_ACCEPTANCE_STRICT: ${{ matrix.os == 'ubuntu-latest' && 'true' || 'false' }}
run: ./scripts/local-acceptance.sh
- name: Run native local acceptance
env:
EASYGATE_ACCEPTANCE_STRICT: ${{ matrix.os == 'ubuntu-latest' && 'true' || 'false' }}
EASYGATE_HOME: ${{ runner.temp }}/easygate-standalone
EASYGATE_CLI: ${{ runner.temp }}/easygate-standalone/bin/easygate
run: ./scripts/local-acceptance-native.sh
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v7
with:
name: logs-${{ matrix.os }}
path: |
${{ runner.temp }}/easygate-standalone/logs/
if-no-files-found: ignore