bump version 0.15.4-dev #899
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 build | |
# Trigger the workflow when: | |
# - A commit on the branches `master` or `releases/*` | |
# - A PR that modify `packaging/*` or the workflow itself | |
# - A manual trigger | |
on: | |
push: | |
branches: | |
- master | |
- releases/* | |
pull_request: | |
paths: | |
- packaging/* | |
- .github/workflows/build.yml | |
workflow_dispatch: | |
# Global Settings | |
env: | |
PYTHON_VERSION: "3.9" | |
# TODO: cannot update to 1.4 yet, see https://github.com/python-poetry/poetry/issues/7611 | |
POETRY_VERSION: 1.3.2 | |
WINFSP_VERSION: 1.8.20304 | |
FORCE_MATURIN_RELEASE: 1 | |
PYTEST_ARGS: >- | |
--numprocesses=auto | |
--verbose | |
concurrency: | |
group: ci-build-${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
linux: | |
name: 🐧 Linux | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Install snapcraft | |
run: sudo snap install snapcraft --classic | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Package snap | |
run: bash packaging/snap/build.sh | |
env: | |
NO_CLEANUP: 1 | |
SNAPCRAFT_ARGS: --destructive-mode | |
timeout-minutes: 30 | |
- name: Upload installer as artifact | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # pin v3.1.2 | |
with: | |
name: ${{ runner.os }}-${{ runner.arch }}-snap | |
path: | | |
resana-secure_*.snap | |
windows: | |
name: 🏁 Windows | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 # [email protected] | |
with: | |
submodules: true | |
- name: Set up Python | |
uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # [email protected] | |
id: setup-python | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # pin v2.0.0 | |
- name: Build Icon overlays COM objects | |
run: msbuild -maxCpuCount -property:Configuration=Release .\windows-icon-handler\windows-icon-handler.sln | |
shell: cmd | |
working-directory: client | |
# Using this workaround to cache `poetry` dependencies until | |
# https://github.com/actions/setup-python/issues/476 is resolved | |
# Here we restore only since we use the same dependencies has `windows-build` | |
- name: Restore cache from `windows-build` | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # pin v3.3.2 | |
with: | |
key: windows-packaging-${{ hashFiles('client/poetry.lock', 'client/submodules/parsec-cloud/**') }} | |
restore-keys: windows-packaging- | |
path: | | |
packaging/windows/build/tools_venv | |
packaging/windows/build/pyinstaller_venv | |
packaging/windows/build-conformity/tools_venv | |
packaging/windows/build-conformity/pyinstaller_venv | |
# Building OpenSSL requires a perl interpreter. | |
# The default one does not provide windows-style filesystem | |
# paths so we have to switch to Strawberry. | |
- name: Use strawberry perl | |
shell: bash | |
run: echo OPENSSL_SRC_PERL=C:/Strawberry/perl/bin/perl >> $GITHUB_ENV | |
timeout-minutes: 1 | |
- name: Freeze Resana | |
run: python freeze_program.py ../../client | |
working-directory: packaging/windows/ | |
- name: Freeze Resana with conformity | |
run: python freeze_program.py ../../client --conformity | |
working-directory: packaging/windows/ | |
- name: Upload installer as artifact | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # pin v3.1.2 | |
with: | |
name: ${{ runner.os }}-${{ runner.arch }}-installer-content | |
path: | | |
packaging/windows/build/manifest.ini | |
packaging/windows/build/install_files.nsh | |
packaging/windows/build/uninstall_files.nsh | |
packaging/windows/build/resana_secure-*/ | |
packaging/windows/build/winfsp-* | |
- name: Upload installer with conformity as artifact | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # pin v3.1.2 | |
with: | |
name: ${{ runner.os }}-${{ runner.arch }}-installer-content-conformity | |
path: | | |
packaging/windows/build-conformity/manifest.ini | |
packaging/windows/build-conformity/install_files.nsh | |
packaging/windows/build-conformity/uninstall_files.nsh | |
packaging/windows/build-conformity/resana_secure-*/ | |
packaging/windows/build-conformity/winfsp-* |