Skip to content

chore(deps): update python docker tag to v3.13.0 #493

chore(deps): update python docker tag to v3.13.0

chore(deps): update python docker tag to v3.13.0 #493

Workflow file for this run

name: CI/CD
on:
push:
branches:
- 'main'
tags:
- '*'
pull_request:
branches:
- 'main'
workflow_dispatch:
jobs:
event_file: # Recommended by https://github.com/marketplace/actions/publish-test-results
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Event File
path: ${{ github.event_path }}
ci:
strategy:
matrix:
os: [ macos-latest, windows-latest ]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
# Disable building dnd-helper, because of broken GitHub actions runner (missing atlbase.h file)
# See also https://github.com/actions/runner-images/issues/9873
#- uses: ./.github/actions/build-windows-dnd-helper
# if: matrix.os == 'windows-latest'
- uses: ./.github/actions/build-app
with:
os: ${{ matrix.os }}
- name: Run integration tests
if: startsWith(github.ref, 'refs/tags/') == false
uses: nick-fields/retry@v3 # tests are a bit flaky and time out after 6h, so we auto-retry them and reduce the timeout
with:
timeout_minutes: 60
max_attempts: 2
# Note: should the test suite hang (without any output), put "-o faulthandler_timeout=240" right after "pytest"
# which dumps the traceback of all threads after a timeout or segfault,
# see https://docs.pytest.org/en/7.1.x/how-to/failures.html#fault-handler
command: |
playwright install --with-deps chromium
pytest tests --junitxml=junit/test-results.xml
env:
CI: "1" # keep variable name in sync with CI_ENV_VAR_NAME
OUTLOOK365_EMAIL: ${{ secrets.OUTLOOK365_EMAIL }}
OUTLOOK365_PASSWORD: ${{ secrets.OUTLOOK365_PASSWORD }}
CALDAV_CALENDAR_E2E_URL: ${{ secrets.CALDAV_CALENDAR_E2E_URL }}
CALDAV_CALENDAR_UNIT_URL: ${{ secrets.CALDAV_CALENDAR_UNIT_URL }}
CALDAV_USERNAME: ${{ secrets.CALDAV_USERNAME }}
CALDAV_PASSWORD: ${{ secrets.CALDAV_PASSWORD }}
- name: Upload Test Results
if: always() && startsWith(github.ref, 'refs/tags/') == false
uses: actions/upload-artifact@v4
with:
name: Test Results (${{ matrix.os }})
path: |
junit/*.xml
cd:
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [ ci ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download all releases
uses: actions/download-artifact@v4
# The download job creates a separate folder for every release, resulting in files such as
# "frozen-app-macos-latest/focus-time-app-macos-v0.1.1.zip". Therefore, need a wide glob below for the
# Release job
- name: Release
uses: softprops/action-gh-release@v2
with:
files: "**/focus-time-*.zip"
generate_release_notes: true