chore(deps): update dependency pywin32 to v308 #494
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: 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 |