Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Make tests faster (i.a. using fixtures) #21

Open
dbrakenhoff opened this issue Aug 17, 2021 · 4 comments
Open

Make tests faster (i.a. using fixtures) #21

dbrakenhoff opened this issue Aug 17, 2021 · 4 comments
Assignees
Labels

Comments

@dbrakenhoff
Copy link
Collaborator

hopefully make testing a bit more efficient?

@dbrakenhoff dbrakenhoff added the enhancement New feature or request label Aug 17, 2021
@dbrakenhoff dbrakenhoff mentioned this issue Aug 17, 2021
Closed
5 tasks
@dbrakenhoff dbrakenhoff self-assigned this Oct 27, 2022
@ArtesiaWater ArtesiaWater added this to the Release v0.4.0 milestone Oct 28, 2022
@dbrakenhoff dbrakenhoff removed this from the Release v0.4.0 milestone Nov 2, 2022
@martinvonk
Copy link
Collaborator

I think what would also help is to create a logical pipeline for the tests. This might save time by making the tests more specific, using workflows that are dependent on one another.

https://github.blog/enterprise-software/ci-cd/build-ci-cd-pipeline-github-actions-four-steps/

@martinvonk martinvonk changed the title change tests to use models as fixtures Make tests faster (using fixtures) Nov 6, 2024
@martinvonk martinvonk changed the title Make tests faster (using fixtures) Make tests faster (i.a. using fixtures) Nov 6, 2024
@martinvonk
Copy link
Collaborator

Something like this should work I think:

name: Test Pipeline

on: [push, pull_request]
runs-on: ubuntu-latest

jobs:
  ahn:
    steps:
      - name: ahn
        run: |
          tox -e ahn
  tno:
    steps:
      - name: ahn
        run: |
          tox -e regis
          tox -e geotop

  jarkus:
    steps:
      - name: jarkus
        run: |
          tox -e jarkus

  bgt:
    steps:
      - name: bgt
        run: |
          tox -e bgt

  base_model:
    needs: [ahn, tno, jarkus, bgt]
    steps:
      - name: base_model
        run: |
          tox -e base_model

  grid_refine:
    needs: [base_model]
    steps:
      - name: grid_refine
        run: |
          tox -e grid_refine

  uzf:
    needs: [base_model]
    steps:
      - name: uzf
        run: |
          tox -e uzf

  modpath:
    needs: [base_model]
    steps:
      - name: modpath
        run: |
          tox -e modpath

@dbrakenhoff
Copy link
Collaborator Author

Is data stored between steps when you implement the CI this? I assume so, but I haven't checked. Do you know?

@martinvonk
Copy link
Collaborator

martinvonk commented Nov 7, 2024

Yes. Should be possible.
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/storing-and-sharing-data-from-a-workflow

@bdestombe bdestombe added this to NHFLO Nov 21, 2024
@github-project-automation github-project-automation bot moved this to Todo in NHFLO Nov 21, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants