Test g95 #150
This file contains 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: Test g95 | |
on: | |
# Trigger the workflow on push or pull request | |
#push: | |
pull_request: # DANGEROUS! MUST be disabled for self-hosted runners! | |
# Trigger the workflow by cron. The default time zone of GitHub Actions is UTC. | |
schedule: | |
- cron: '0 5 * * *' | |
# Trigger the workflow manually | |
workflow_dispatch: | |
jobs: | |
test: | |
name: Run g95 tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
solver: [newuoa, cobyla, lincoa, bobyqa, uobyqa] | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
with: | |
ssh-key: ${{ secrets.SSH_PRIVATE_KEY_ACT }} # This forces checkout to use SSH, not HTTPS | |
submodules: recursive | |
- name: Install g95 | |
run: bash .github/scripts/install_g95 | |
- name: Miscellaneous setup | |
run: bash .github/scripts/misc_setup | |
- name: Conduct the test | |
run: | | |
# No need to test in parallel, as 9test compiles without running (identical to 9test_c). | |
cd "$ROOT_DIR"/fortran/${{ matrix.solver }} && bash ./flint --all && bash ./mlint --all | |
cd "$ROOT_DIR"/fortran/tests && make 9test_c.${{ matrix.solver }} | |
# 20211012: make 9test_newuoa will not work, because, for some unknown reason, 9test_c is | |
# remade when making 9test even though 9test_c has been made and up to date. Since the | |
# making of 9test is in parallel, 9test_c will also be triggered in parallel, which leads | |
# to problems like un-found modules. Not yet observed for other tests. | |
- name: Store artifacts | |
uses: actions/[email protected] | |
if: always() # Always run even if the workflow is canceled manually or due to overtime. | |
with: | |
path: ${{ env.TEST_DIR }}/prima/fortran/tests/test.${{ matrix.solver }}/log/*.log | |
- name: Remove the test data | |
if: always() # Always run even if the workflow is canceled manually or due to overtime. | |
run: rm -rf ${{ env.TEST_DIR }} |