Skip to content

Commit

Permalink
Integration test - run only once a day, report failures on IRC
Browse files Browse the repository at this point in the history
  • Loading branch information
lslezak committed Nov 14, 2023
1 parent b958b1b commit 92c2649
Showing 1 changed file with 16 additions and 84 deletions.
100 changes: 16 additions & 84 deletions .github/workflows/ci-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -1,95 +1,18 @@
name: "CI - Integration Tests"

on:
push:
paths:
# NOTE: GitHub Actions do not allow using YAML references, the same path
# list is used below for the pull request event. Keep both lists in sync!!

# this file itself
- .github/workflows/ci-integration-tests.yml

# the web frontend
- web/**.json
- web/**.html
- web/**.scss
- web/**.jsx?
# ignore unit tests, we do not run them here
- "!web/**.test.jsx?"
- web/Makefile

# the service backend
- setup-service.sh
- service/lib/**.rb
- service/bin/agamactl
- service/Gemfile*
- service/*.gemspec
# D-Bus and systemd configs
- service/share/*.conf
- service/share/*.service
# Rust services
- rust/Cargo.lock
- rust/agama-dbus-server/**
- rust/agama-locale-data/**
- rust/agama-lib/**
# ignore the JSON profile and the examples
- "!rust/agama-lib/share/**"
- rust/share/*.service

# the playwright tests and configs
- playwright/**.ts
- playwright/config/agama.yaml

pull_request:
paths:
# NOTE: GitHub Actions do not allow using YAML references, the same path
# list is used above for the push event. Keep both lists in sync!!

# this file itself
- .github/workflows/ci-integration-tests.yml

# the web frontend
- web/**.json
- web/**.html
- web/**.scss
- web/**.jsx?
# ignore unit tests, we do not run them here
- "!web/**.test.jsx?"
- web/Makefile

# the service backend
- setup-service.sh
- service/lib/**.rb
- service/bin/agamactl
- service/Gemfile*
- service/*.gemspec
# D-Bus and systemd configs
- service/share/*.conf
- service/share/*.service
# Rust services
- rust/Cargo.lock
- rust/agama-dbus-server/**
- rust/agama-locale-data/**
- rust/agama-lib/**
# ignore the JSON profile and the examples
- "!rust/agama-lib/share/**"
- rust/share/*.service

# the playwright tests and configs
- playwright/**.ts
- playwright/config/agama.yaml
schedule:
# at 10:50 every day from Monday to Friday
- cron: "50 10 * * 1-5"

# allow running manually
workflow_dispatch:

jobs:
integration-tests:
timeout-minutes: 60
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
# TW is needed because of the Cockpit packages
distro: [ "tumbleweed" ]

steps:

# TODO: Reuse/share building the frontend and backend with the other steps
Expand Down Expand Up @@ -154,11 +77,20 @@ jobs:

- name: Upload the test results
uses: actions/upload-artifact@v3
# run even when the previous step fails
# run even when any previous step fails
if: always()
with:
name: test-results
retention-days: 30
path: |
playwright/test-results/**/*
/tmp/log/YaST2/y2log
- name: IRC notification
# see https://github.com/marketplace/actions/irc-message-action
uses: Gottox/irc-message-action@v2
if: failure()
with:
channel: "#yast"
nickname: github-action
message: "Agama integration test failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"

0 comments on commit 92c2649

Please sign in to comment.