Prohibit editing documents in the trash #742
Workflow file for this run
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: Build Starc for Windows | |
env: | |
APP_VERSION: 0.7.6 | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
create: | |
tags: | |
- v* | |
workflow_dispatch: {} | |
jobs: | |
build_windows_64: | |
name: Build Windows 64 version | |
runs-on: windows-latest | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout Sources for push or create tag event | |
if: ${{ github.event_name != 'pull_request' }} | |
uses: actions/checkout@master | |
with: | |
token: ${{ secrets.ACTION_RUNNER }} | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Checkout sources for pull request event | |
if: ${{ github.event_name == 'pull_request' }} | |
uses: actions/checkout@master | |
- name: Checkout submodules for pull request event | |
if: ${{ github.event_name == 'pull_request' }} | |
shell: bash | |
run: | | |
git submodule update --init --recursive src/3rd_party/qbreakpad/ src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/ | |
- name: Add info about dev build to the env | |
shell: bash | |
run: | | |
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: 5.15.2 | |
arch: win64_msvc2019_64 | |
target: desktop | |
setup-python: false | |
- name: Install dependencies | |
shell: bash | |
run: | | |
choco install openssl --version=3.1.1 | |
- name: Configure MSVC | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x64 | |
- name: Run QMake | |
shell: bash | |
run: | | |
cd src | |
qmake starc.pro CONFIG+=release DEFINES+="DEV_BUILD=$DEV_BUILD" | |
- name: Build | |
run: | | |
cd src | |
nmake | |
- name: Prepare installer folder | |
shell: bash | |
run: | | |
cd build/windows | |
./make-exe_64.sh ${{env.APP_VERSION}} | |
- name: Make installer | |
uses: joncloud/[email protected] | |
with: | |
arguments: "/V3" | |
script-file: "build/windows/starc_64.nsi" | |
- name: Make archive with portable version | |
uses: vimtor/action-zip@v1 | |
with: | |
files: build/windows/files_64 | |
dest: build/windows/starc-64.zip | |
- name: Collect artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows_64 packages | |
path: | | |
build/windows/starc-setup-64.exe | |
build/windows/starc-64.zip | |
- name: Publish artifacts to the dev stream and notify clients | |
if: startsWith(github.ref, 'refs/tags/') != true | |
shell: pwsh | |
env: | |
STARC_API_KEY: ${{ secrets.STARC_API_KEY }} | |
BUILD_VERSION: ${{env.APP_VERSION}} dev ${{env.DEV_BUILD}} | |
run: | | |
$PublishForm = @{ | |
api_key = $env:STARC_API_KEY | |
name_for_file = 'starc-setup-64.exe' | |
file_bin = Get-Item -Path 'build\windows\starc-setup-64.exe' | |
} | |
Invoke-WebRequest -Uri 'https://starc.app/api/app/updates/publish' -Method Post -Form $PublishForm | |
$NotifyForm = @{ | |
api_key = $env:STARC_API_KEY | |
system = 'windows64' | |
version = $env:BUILD_VERSION | |
} | |
Invoke-WebRequest -Uri 'https://starc.app/api/app/updates/notify' -Method Post -Form $NotifyForm | |
- name: Publish artifacts to the GitHub releases | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
build/windows/starc-setup-64.exe | |
build/windows/starc-64.zip | |
- name: Notify clients that stable release published | |
if: startsWith(github.ref, 'refs/tags/') | |
shell: bash | |
run: | | |
curl -F "api_key=${{ secrets.STARC_API_KEY }}" -F "system=windows64" -F "version=${{env.APP_VERSION}}" https://starc.app/api/app/updates/notify | |
build_windows_32: | |
name: Build Windows 32 version | |
runs-on: windows-latest | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout Sources for push or create tag event | |
if: ${{ github.event_name != 'pull_request' }} | |
uses: actions/checkout@master | |
with: | |
token: ${{ secrets.ACTION_RUNNER }} | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Checkout sources for pull request event | |
if: ${{ github.event_name == 'pull_request' }} | |
uses: actions/checkout@master | |
- name: Checkout submodules for pull request event | |
if: ${{ github.event_name == 'pull_request' }} | |
shell: bash | |
run: | | |
git submodule update --init --recursive src/3rd_party/qbreakpad/ src/3rd_party/pdfhummus/ src/3rd_party/pdftextextraction/ | |
- name: Add info about dev build to the env | |
shell: bash | |
run: | | |
echo "DEV_BUILD=$(git rev-list `git rev-list --tags --no-walk --max-count=1`..HEAD --count)" >> $GITHUB_ENV | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: 5.15.2 | |
arch: win32_msvc2019 | |
target: desktop | |
setup-python: false | |
- name: Install dependencies | |
shell: bash | |
run: | | |
choco install openssl --version=1.1.1.2100 --forcex86 | |
- name: Configure MSVC | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x86 | |
- name: Run QMake | |
shell: bash | |
run: | | |
cd src | |
qmake starc.pro CONFIG+=release DEFINES+="DEV_BUILD=$DEV_BUILD" | |
- name: Build | |
run: | | |
cd src | |
nmake | |
- name: Prepare installer folder | |
shell: bash | |
run: | | |
cd build/windows | |
./make-exe_32.sh ${{env.APP_VERSION}} | |
- name: Make installer | |
uses: joncloud/[email protected] | |
with: | |
arguments: "/V3" | |
script-file: "build/windows/starc_32.nsi" | |
- name: Make archive with portable version | |
uses: vimtor/action-zip@v1 | |
with: | |
files: build/windows/files_32 | |
dest: build/windows/starc-32.zip | |
- name: Collect artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows_32 packages | |
path: | | |
build/windows/starc-setup-32.exe | |
build/windows/starc-32.zip | |
- name: Publish artifacts to the dev stream and notify clients | |
if: startsWith(github.ref, 'refs/tags/') != true | |
shell: pwsh | |
env: | |
STARC_API_KEY: ${{ secrets.STARC_API_KEY }} | |
BUILD_VERSION: ${{env.APP_VERSION}} dev ${{env.DEV_BUILD}} | |
run: | | |
$PublishForm = @{ | |
api_key = $env:STARC_API_KEY | |
name_for_file = 'starc-setup-32.exe' | |
file_bin = Get-Item -Path 'build\windows\starc-setup-32.exe' | |
} | |
Invoke-WebRequest -Uri 'https://starc.app/api/app/updates/publish' -Method Post -Form $PublishForm | |
$NotifyForm = @{ | |
api_key = $env:STARC_API_KEY | |
system = 'windows32' | |
version = $env:BUILD_VERSION | |
} | |
Invoke-WebRequest -Uri 'https://starc.app/api/app/updates/notify' -Method Post -Form $NotifyForm | |
- name: Publish artifacts to GitHub releases | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
build/windows/starc-setup-32.exe | |
build/windows/starc-32.zip | |
- name: Notify clients that stable release published | |
if: startsWith(github.ref, 'refs/tags/') | |
shell: bash | |
run: | | |
curl -F "api_key=${{ secrets.STARC_API_KEY }}" -F "system=windows32" -F "version=${{env.APP_VERSION}}" https://starc.app/api/app/updates/notify |