Skip to content

debug chrome path

debug chrome path #376

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
id: setup-chrome
with:
chrome-version: '147.0.7727.56' # 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
google-chrome --version
chromedriver --version
# Workaround: chrome installed by setup-chrome clashes with chrome bundled with runner
# See: https://github.com/browser-actions/setup-chrome/issues/619
- name: Override system Chrome
run: sudo ln -svf ${{steps.setup-chrome.outputs.chrome-path}} /usr/bin/google-chrome
- 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/