refactor: specify locator explicitly for "Table Cell Should Contain" … #364
This file contains hidden or 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 Tests (PostgreSQL) | |
| on: | |
| push: | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore | |
| paths-ignore: | |
| - '.gitignore' | |
| - '.github/**' | |
| - '!.github/workflows/integration-tests-postgres.yml' | |
| - 'docs/**' | |
| - 'infra/**' | |
| - 'src/main/config/*' | |
| - 'src/main/scripts/**' | |
| - '!src/main/scripts/execute-command.sh' | |
| - 'src/test/hurl/**' | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions | |
| permissions: | |
| # NOTE: actions/upload-artifact makes no use of permissions | |
| # See https://github.com/actions/upload-artifact/issues/197#issuecomment-832279436 | |
| contents: read # for "git clone" | |
| defaults: | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#defaultsrun | |
| run: | |
| # Enable fail-fast behavior using set -eo pipefail | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference | |
| shell: bash | |
| jobs: | |
| run-integration-tests: | |
| name: Integration Tests | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on | |
| runs-on: ubuntu-22.04 | |
| # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservices | |
| services: | |
| db: | |
| # https://hub.docker.com/_/postgres | |
| # https://github.com/docker-library/postgres/blob/ad464b0375fc64e70e01305bf93183428a2ef0ec/11/Dockerfile | |
| # NOTE: it's better to have the same as in infra/docker/postgres.yml | |
| image: postgres:11.3 | |
| env: | |
| # NOTE: it's better to have credentials the same as in infra/docker/postgres.yml | |
| POSTGRES_USER: mystamps | |
| POSTGRES_PASSWORD: secret | |
| POSTGRES_DATABASE: mystamps | |
| # https://docs.github.com/en/actions/using-containerized-services/about-service-containers#mapping-docker-host-and-service-container-ports | |
| ports: | |
| # <host port>:<container port> | |
| - '5432:5432' | |
| steps: | |
| - name: Clone source code | |
| uses: actions/checkout@v6.0.1 # https://github.com/actions/checkout | |
| with: | |
| # Whether to configure the token or SSH key with the local git config. Default: true | |
| persist-credentials: false | |
| - name: Install mise to set up tools | |
| uses: jdx/mise-action@v3.5.1 # https://github.com/jdx/mise-action | |
| with: | |
| version: 2025.11.11 # [default: latest] mise version to install | |
| install: true # [default: true] run `mise install` | |
| cache: true # [default: true] cache mise using GitHub's cache | |
| log_level: info # [default: info] log level | |
| working_directory: . # [default: .] directory to run mise in | |
| env: | |
| # Workaround: don't install some dependencies that we don't want (java) | |
| # See: https://github.com/jdx/mise-action/issues/183 | |
| # https://mise.jdx.dev/configuration/settings.html#disable_tools | |
| MISE_DISABLE_TOOLS: java | |
| - name: Install JDK | |
| uses: actions/setup-java@v5.1.0 # https://github.com/actions/setup-java | |
| with: | |
| distribution: 'adopt' # https://github.com/actions/setup-java#supported-distributions | |
| java-version: '8' # https://github.com/actions/setup-java#supported-version-syntax | |
| - name: Install Chrome | |
| uses: browser-actions/setup-chrome@v2.1.1 # https://github.com/browser-actions/setup-chrome | |
| with: | |
| chrome-version: '145.0.7632.117' # Must match version in mise.toml | |
| install-dependencies: false # Default: false | |
| install-chromedriver: false # Default: false | |
| - name: Install Robot Framework | |
| run: pip install -r requirements.txt | |
| # NOTE: robot --version returns 251 exit code | |
| # See for details: | |
| # - https://github.com/robotframework/robotframework/issues/5184 | |
| # - https://github.com/robotframework/robotframework/issues/3874 | |
| # - https://robotframework.org/robotframework/3.2.2/RobotFrameworkUserGuide.html#return-codes | |
| - name: Show tools versions | |
| run: | | |
| robot --version || : | |
| chrome --version | |
| chromedriver --version | |
| - name: Restore existing cache | |
| uses: actions/cache@v5.0.2 # https://github.com/actions/cache | |
| with: | |
| # https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#input-parameters-for-the-cache-action | |
| key: maven-repository-${{ hashFiles('pom.xml') }} | |
| path: ~/.m2/repository | |
| restore-keys: maven-repository- | |
| - name: Run integration tests | |
| env: | |
| SPRING_PROFILES_ACTIVE: postgres | |
| MAVEN_ARGS: '--no-transfer-progress' | |
| run: ./src/main/scripts/execute-command.sh integration-tests | |
| - name: Save RobotFramework reports | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@v6.0.0 # https://github.com/actions/upload-artifact | |
| with: | |
| name: robotframework-reports | |
| path: target/robotframework-reports/ |