CI #235
This file contains hidden or 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: 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 |