|
40 | 40 | - name: run tests |
41 | 41 | run: | |
42 | 42 | python -m pytest -rf |
43 | | -
|
44 | | - e2e: |
45 | | - name: end-to-end |
46 | | - runs-on: [ubuntu-latest] |
47 | | - |
48 | | - strategy: |
49 | | - fail-fast: false |
50 | | - matrix: |
51 | | - envs: |
52 | | - - "envs/env1.yaml" |
53 | | - - "envs/env2.yaml" |
54 | | - - | |
55 | | - envs/env1.yaml |
56 | | - envs/env2.yaml |
57 | | - expected-failure: ["false"] |
58 | | - policy-file: ["policy.yaml"] |
59 | | - include: |
60 | | - - envs: | |
61 | | - envs/failing-env1.yaml |
62 | | - policy-file: "policy.yaml" |
63 | | - expected-failure: "true" |
64 | | - - envs: | |
65 | | - envs/env1.yaml |
66 | | - envs/failing-env1.yaml |
67 | | - policy-file: "policy.yaml" |
68 | | - expected-failure: "true" |
69 | | - - envs: "envs/env1.yaml" |
70 | | - policy-file: "policy_no_extra_options.yaml" |
71 | | - expected-failure: "false" |
72 | | - - envs: "pixi:env1" |
73 | | - manifest-path: "envs/pixi.toml" |
74 | | - policy-file: "policy.yaml" |
75 | | - expected-failure: "false" |
76 | | - - envs: | |
77 | | - pixi:env1 |
78 | | - pixi:env2 |
79 | | - manifest-path: "envs/pixi.toml" |
80 | | - policy-file: "policy.yaml" |
81 | | - expected-failure: "false" |
82 | | - - envs: | |
83 | | - pixi:env1 |
84 | | - conda:envs/env2.yaml |
85 | | - manifest-path: "envs/pixi.toml" |
86 | | - policy-file: "policy.yaml" |
87 | | - expected-failure: "false" |
88 | | - - envs: "pixi:failing-env" |
89 | | - manifest-path: "envs/pixi.toml" |
90 | | - policy-file: "policy.yaml" |
91 | | - expected-failure: "true" |
92 | | - |
93 | | - steps: |
94 | | - - name: clone the repository |
95 | | - uses: actions/checkout@v6 |
96 | | - with: |
97 | | - persist-credentials: false |
98 | | - - name: run action |
99 | | - uses: ./ |
100 | | - id: action-run |
101 | | - continue-on-error: true |
102 | | - with: |
103 | | - policy: ${{ matrix.policy-file }} |
104 | | - environments: ${{ matrix.envs }} |
105 | | - today: 2024-12-20 |
106 | | - manifest-path: ${{ matrix.manifest-path }} |
107 | | - - name: detect outcome |
108 | | - if: always() |
109 | | - shell: bash -l {0} |
110 | | - env: |
111 | | - OUTCOME: "${{ steps.action-run.outcome }}" |
112 | | - run: | |
113 | | - if [[ "$OUTCOME" == "success" && ${{ matrix.expected-failure }} == "true" ]]; then |
114 | | - # unexpected pass |
115 | | - echo "workflow xpassed" |
116 | | - export STATUS=1 |
117 | | - elif [[ "$OUTCOME" == "failure" && ${{ matrix.expected-failure }} == "false" ]]; then |
118 | | - # unexpected failure |
119 | | - echo "workflow failed" |
120 | | - export STATUS=2 |
121 | | - elif [[ "$OUTCOME" == "success" && ${{ matrix.expected-failure }} == "false" ]]; then |
122 | | - # normal pass |
123 | | - echo "workflow passed" |
124 | | - export STATUS=0 |
125 | | - elif [[ "$OUTCOME" == "failure" && ${{ matrix.expected-failure }} == "true" ]]; then |
126 | | - # expected failure |
127 | | - echo "workflow xfailed" |
128 | | - export STATUS=0 |
129 | | - else |
130 | | - # cancelled |
131 | | - echo "workflow cancelled" |
132 | | - export STATUS=3 |
133 | | - fi |
134 | | - exit $STATUS |
0 commit comments