nyxx/.github/workflows/tests.yml

210 lines
5.6 KiB
YAML

name: Tests
on: [push, pull_request]
jobs:
test-nyxx:
name: Test main nyxx package
runs-on: ubuntu-latest
env:
TEST_TOKEN: ${{ secrets.TEST_TOKEN }}
steps:
- name: Cache
uses: actions/cache@v2
with:
path: ~/.pub_cache
key: ${{ runner.os }}
- name: Setup Dart Action
uses: cedx/setup-dart@v2.3.0
with:
release-channel: stable
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install dependencies
working-directory: ./nyxx
run: dart pub get
- name: Analyze project source
working-directory: ./nyxx
run: dart analyze
- name: Unit tests
working-directory: ./nyxx
run: dart test test/unit.dart
- name: Compile tests
working-directory: ./nyxx/test
run: dart2native travis.dart
if: github.event_name != 'pull_request'
- name: Run tests
working-directory: ./nyxx/test
run: ./travis.exe
if: github.event_name != 'pull_request'
- name: Generate docs
working-directory: ./nyxx
run: dartdoc
- name: Deploy nyxx dev docs
uses: easingthemes/ssh-deploy@v2.1.5
env:
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
ARGS: "-rltDzvO"
SOURCE: "nyxx/doc/api/"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "${{ secrets.REMOTE_TARGET }}/nyxx/"
test-commander:
name: Tests commander package
needs: [test-nyxx]
runs-on: ubuntu-latest
env:
TEST_TOKEN: ${{ secrets.TEST_TOKEN }}
steps:
- name: Cache
uses: actions/cache@v2
with:
path: ~/.pub_cache
key: ${{ runner.os }}
- name: Setup Dart Action
uses: cedx/setup-dart@v2.3.0
with:
release-channel: stable
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install dependencies
working-directory: ./nyxx_commander
run: dart pub get
- name: Analyze project source
working-directory: ./nyxx_commander
run: dart analyze
- name: Compile tests
working-directory: ./nyxx_commander/test
run: dart2native commander-test.dart
if: github.event_name != 'pull_request'
- name: Run tests
working-directory: ./nyxx_commander/test
run: ./commander-test.exe
if: github.event_name != 'pull_request'
- name: Generate docs
working-directory: ./nyxx_commander
run: dartdoc
- name: Deploy nyxx_commander dev docs
uses: easingthemes/ssh-deploy@v2.1.5
env:
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
ARGS: "-rltDzvO"
SOURCE: "nyxx_commander/doc/api/"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "${{ secrets.REMOTE_TARGET }}/nyxx_commander/"
test-extensions:
name: Tests extensions package
needs: [test-commander]
runs-on: ubuntu-latest
env:
TEST_TOKEN: ${{ secrets.TEST_TOKEN }}
steps:
- name: Cache
uses: actions/cache@v2
with:
path: ~/.pub_cache
key: ${{ runner.os }}
- name: Setup Dart Action
uses: cedx/setup-dart@v2.3.0
with:
release-channel: stable
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install dependencies
working-directory: ./nyxx_extensions
run: dart pub get
- name: Analyze project source
working-directory: ./nyxx_extensions
run: dart analyze
- name: Compile tests
working-directory: ./nyxx_extensions/test
run: dart2native extensions-tests.dart
if: github.event_name != 'pull_request'
- name: Run tests
working-directory: ./nyxx_extensions/test
run: ./extensions-tests.exe
if: github.event_name != 'pull_request'
- name: Generate docs
working-directory: ./nyxx_extensions
run: dartdoc
- name: Deploy nyxx_extensions dev docs
uses: easingthemes/ssh-deploy@v2.1.5
env:
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
ARGS: "-rltDzvO"
SOURCE: "nyxx_extensions/doc/api/"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "${{ secrets.REMOTE_TARGET }}/nyxx_extensions/"
test-interactions:
name: Tests interactions package
needs: [ test-extensions ]
runs-on: ubuntu-latest
env:
TEST_TOKEN: ${{ secrets.TEST_TOKEN }}
steps:
- name: Cache
uses: actions/cache@v2
with:
path: ~/.pub_cache
key: ${{ runner.os }}
- name: Setup Dart Action
uses: cedx/setup-dart@v2.3.0
with:
release-channel: stable
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Install dependencies
working-directory: ./nyxx_interactions
run: dart pub get
- name: Analyze project source
working-directory: ./nyxx_interactions
run: dart analyze
- name: Generate docs
working-directory: ./nyxx_interactions
run: dartdoc
- name: Deploy nyxx_interactions dev docs
uses: easingthemes/ssh-deploy@v2.1.5
env:
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
ARGS: "-rltDzvO"
SOURCE: "nyxx_interactions/doc/api/"
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: "${{ secrets.REMOTE_TARGET }}/nyxx_interactions/"