name: Cucumber Tests on: workflow_call: inputs: env_json: required: true type: string cucumber-node-image: required: true type: string secrets: GITEA_TOKEN: required: true GIT_PAGES_PUBLISH_TOKEN: required: true env: GITEA_API_URL: ${{ fromJson(inputs.env_json).GITEA_API_URL }} GIT_PAGES_URL: ${{ fromJson(inputs.env_json).GIT_PAGES_URL }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} GIT_PAGES_PUBLISH_TOKEN: ${{ secrets.GIT_PAGES_PUBLISH_TOKEN }} jobs: cucumber: runs-on: ubuntu-latest container: image: ${{ inputs.cucumber-node-image }} steps: - uses: actions/checkout@v4 - uses: actions/checkout@v4 with: repository: niko/gitea-ci-library path: .ci - name: Run cucumber tests id: cucumber-tests shell: bash run: | mkdir -p "reports/${GITHUB_SHA:0:8}/cucumber" set +e npx cucumber-js \ --format json:"reports/${GITHUB_SHA:0:8}/cucumber/report.json" \ --format html:"reports/${GITHUB_SHA:0:8}/cucumber/index.html" 2>&1 CUCUMBER_EXIT=$? echo "CUCUMBER_EXIT=${CUCUMBER_EXIT}" >> "${GITHUB_ENV}" exit ${CUCUMBER_EXIT} - name: Publish cucumber reports if: always() run: bash .ci/scripts/publish-git-pages.sh cucumber - name: Report status if: always() shell: bash run: | if [ "${CUCUMBER_EXIT}" = "0" ]; then if [ -f "reports/${GITHUB_SHA:0:8}/cucumber/index.html" ]; then bash .ci/scripts/report-status.sh success "Link to Cucumber reports" acc-tests cucumber else bash .ci/scripts/report-status.sh success "Link to Cucumber reports" acc-tests fi else if [ -f "reports/${GITHUB_SHA:0:8}/cucumber/index.html" ]; then bash .ci/scripts/report-status.sh failure "Link to Cucumber reports" acc-tests cucumber else bash .ci/scripts/report-status.sh failure "Link to Cucumber reports" acc-tests fi fi