[deps]: Update gh minor #35
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: Integration Testing | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- "main" | |
paths: | |
- ".github/workflows/integration-test.yml" # this file | |
- "src/services/ldap-directory.service*" # we only have integration for LDAP testing at the moment | |
- "./openldap*" # any change to test fixtures | |
- "./docker-compose.yml" # any change to Docker configuration | |
pull_request: | |
paths: | |
- ".github/workflows/integration-test.yml" # this file | |
- "src/services/ldap-directory.service*" # we only have integration for LDAP testing at the moment | |
- "./openldap*" # any change to test fixtures | |
- "./docker-compose.yml" # any change to Docker configuration | |
jobs: | |
check-test-secrets: | |
name: Check for test secrets | |
runs-on: ubuntu-22.04 | |
outputs: | |
available: ${{ steps.check-test-secrets.outputs.available }} | |
permissions: | |
contents: read | |
steps: | |
- name: Check | |
id: check-test-secrets | |
run: | | |
if [ "${{ secrets.CODECOV_TOKEN }}" != '' ]; then | |
echo "available=true" >> $GITHUB_OUTPUT; | |
else | |
echo "available=false" >> $GITHUB_OUTPUT; | |
fi | |
testing: | |
name: Run tests | |
if: ${{ startsWith(github.head_ref, 'version_bump_') == false }} | |
runs-on: ubuntu-22.04 | |
needs: check-test-secrets | |
permissions: | |
checks: write | |
contents: read | |
pull-requests: write | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Get Node version | |
id: retrieve-node-version | |
run: | | |
NODE_NVMRC=$(cat .nvmrc) | |
NODE_VERSION=${NODE_NVMRC/v/''} | |
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT | |
- name: Set up Node | |
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | |
with: | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
node-version: ${{ steps.retrieve-node-version.outputs.node_version }} | |
- name: Install Node dependencies | |
run: npm ci | |
- name: Install mkcert | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install mkcert | |
- name: Setup integration tests | |
run: npm run test:integration:setup | |
- name: Run integration tests | |
run: npm run test:integration --coverage | |
- name: Report test results | |
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 # v1.9.1 | |
if: ${{ needs.check-test-secrets.outputs.available == 'true' && !cancelled() }} | |
with: | |
name: Test Results | |
path: "junit.xml" | |
reporter: jest-junit | |
fail-on-error: true | |
- name: Upload coverage to codecov.io | |
uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 | |
if: ${{ needs.check-test-secrets.outputs.available == 'true' }} | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
- name: Upload results to codecov.io | |
uses: codecov/test-results-action@9739113ad922ea0a9abb4b2c0f8bf6a4aa8ef820 # v1.0.1 | |
if: ${{ needs.check-test-secrets.outputs.available == 'true' }} | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |