Skip to content

Commit

Permalink
修改 action;
Browse files Browse the repository at this point in the history
  • Loading branch information
RealChuan committed Nov 28, 2023
1 parent 9adb728 commit 81911b1
Show file tree
Hide file tree
Showing 7 changed files with 146 additions and 48 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Cleanup Caches By A Branch
name: Cleanup caches by a branch
on:
pull_request:
types:
- closed
# 每周一 0 点触发
schedule:
- cron: '0 0 * * 1'
workflow_dispatch:

jobs:
Expand All @@ -15,7 +15,7 @@ jobs:
contents: read
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Cleanup
run: |
Expand Down
39 changes: 26 additions & 13 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
name: CMake Build
name: CMake build

on:
# push代码时触发workflow
push:
paths-ignore: # 下列文件的变更不触发部署,可以自行添加
- '.github/workflows/clean_cache.yml'
- '.github/workflows/delete_workflow.yml'
- '.github/workflows/qmake.yml'
- '.github/workflows/readme.yml'
- '.github/workflows/toolchain.yml'
- 'doc/**'
- '.clang*'
- '.gitignore'
- 'LICENSE'
- 'README*'
pull_request:
paths-ignore: # 下列文件的变更不触发部署,可以自行添加
- '.github/workflows/clean_cache.yml'
- '.github/workflows/delete_workflow.yml'
- '.github/workflows/qmake.yml'
- '.github/workflows/readme.yml'
- '.github/workflows/toolchain.yml'
- 'doc/**'
- '.clang*'
- '.gitignore'
Expand All @@ -36,16 +46,19 @@ jobs:
- "Ninja"

steps:
- name: cache vcpkg
uses: actions/cache@v3
with:
path: |
C:\vcpkg\installed
/usr/local/share/vcpkg/installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-vcpkg-installed-${{ matrix.os }}-
${{ runner.os }}-vcpkg-installed-
- name: Restore windows vcpkg
if: startsWith(matrix.os, 'windows')
uses: actions/cache/restore@v3
with:
path: C:\vcpkg\installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}
- name: Restore macos or ubuntu vcpkg
if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'ubuntu')
uses: actions/cache/restore@v3
with:
path: /usr/local/share/vcpkg/installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}

- name: Install dependencies on windows
if: startsWith(matrix.os, 'windows')
shell: bash
Expand Down Expand Up @@ -79,10 +92,10 @@ jobs:
with:
version: ${{ matrix.qt_ver }}
install-deps: 'true'
modules: 'qt5compat addons.qtnetworkauth addons.qtmultimedia addons.qtimageformats'
modules: 'qt5compat qtnetworkauth qtmultimedia qtimageformats'
cache: 'true'

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 1

Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/delete_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Delete old workflow runs
on:
workflow_dispatch:
inputs:
days:
description: 'Days-worth of runs to keep for each workflow'
required: true
default: '30'
minimum_runs:
description: 'Minimum runs to keep for each workflow'
required: true
default: '6'
delete_workflow_pattern:
description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
required: false
delete_workflow_by_state_pattern:
description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
required: true
default: "ALL"
type: choice
options:
- "ALL"
- active
- deleted
- disabled_inactivity
- disabled_manually
delete_run_by_conclusion_pattern:
description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success'
required: true
default: "failure"
type: choice
options:
- "ALL"
- "Unsuccessful: action_required,cancelled,failure,skipped"
- action_required
- cancelled
- failure
- skipped
- success
dry_run:
description: 'Logs simulated changes, no deletions are performed'
required: false

jobs:
del_runs:
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@v2
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: ${{ github.event.inputs.days }}
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
delete_run_by_conclusion_pattern: >-
${{
startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:')
&& 'action_required,cancelled,failure,skipped'
|| github.event.inputs.delete_run_by_conclusion_pattern
}}
dry_run: ${{ github.event.inputs.dry_run }}
43 changes: 28 additions & 15 deletions .github/workflows/qmake.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
name: QMake Build
name: QMake build

on:
# push代码时触发workflow
push:
paths-ignore: # 下列文件的变更不触发部署,可以自行添加
- 'doc'
- '.github/workflows/clean_cache.yml'
- '.github/workflows/delete_workflow.yml'
- '.github/workflows/cmake.yml'
- '.github/workflows/readme.yml'
- '.github/workflows/toolchain.yml'
- 'doc/**'
- '.clang*'
- '.gitignore'
- 'LICENSE'
- 'README*'
pull_request:
paths-ignore: # 下列文件的变更不触发部署,可以自行添加
- 'doc'
- '.github/workflows/clean_cache.yml'
- '.github/workflows/delete_workflow.yml'
- '.github/workflows/cmake.yml'
- '.github/workflows/readme.yml'
- '.github/workflows/toolchain.yml'
- 'doc/**'
- '.clang*'
- '.gitignore'
- 'LICENSE'
Expand All @@ -32,16 +42,19 @@ jobs:
- 6.6.1

steps:
- name: cache vcpkg
uses: actions/cache@v3
with:
path: |
C:\vcpkg\installed
/usr/local/share/vcpkg/installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-vcpkg-installed-${{ matrix.os }}-
${{ runner.os }}-vcpkg-installed-
- name: Restore windows vcpkg
if: startsWith(matrix.os, 'windows')
uses: actions/cache/restore@v3
with:
path: C:\vcpkg\installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}
- name: Restore macos or ubuntu vcpkg
if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'ubuntu')
uses: actions/cache/restore@v3
with:
path: /usr/local/share/vcpkg/installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}

- name: Install dependencies on windows
if: startsWith(matrix.os, 'windows')
shell: bash
Expand Down Expand Up @@ -75,10 +88,10 @@ jobs:
with:
version: ${{ matrix.qt_ver }}
install-deps: 'true'
modules: 'qt5compat addons.qtnetworkauth addons.qtmultimedia addons.qtimageformats'
modules: 'qt5compat qtnetworkauth qtmultimedia qtimageformats'
cache: 'true'

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 1

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: 12.x
# ISO Langusge Codes: https://cloud.google.com/translate/docs/languages
Expand Down
29 changes: 18 additions & 11 deletions .github/workflows/toolchain.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
name: Build Toolchain
name: Build toolchain

on:
# 每周一 0 点触发
schedule:
- cron: '0 0 * * 1'
# 清理 Cache 后触发
workflow_run:
workflows: [Cleanup caches by a branch]
types: completed
# 手动触发
workflow_dispatch:

Expand All @@ -28,7 +29,7 @@ jobs:
with:
version: ${{ matrix.qt_ver }}
install-deps: 'true'
modules: 'qt5compat addons.qtnetworkauth addons.qtmultimedia addons.qtimageformats'
modules: 'qt5compat qtnetworkauth qtmultimedia qtimageformats'
cache: 'true'

- name: Install dependencies on windows
Expand Down Expand Up @@ -59,10 +60,16 @@ jobs:
gcc --version
vcpkg install breakpad ffmpeg[opengl,ass,bzip2,freetype,fribidi,zlib,gpl] --triplet x64-linux
- name: cache vcpkg
- name: cache windows vcpkg
if: startsWith(matrix.os, 'windows')
uses: actions/cache/save@v3
with:
path: |
C:\vcpkg\installed
/usr/local/share/vcpkg/installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}-${{ github.sha }}
with:
path: C:\vcpkg\installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}
- name: cache macos or ubuntu vcpkg
if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'ubuntu')
uses: actions/cache/save@v3
with:
path: /usr/local/share/vcpkg/installed
key: ${{ runner.os }}-vcpkg-installed-${{ matrix.os }}

4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(utils)

if(CMAKE_HOST_WIN32)
list(APPEND CMAKE_PREFIX_PATH "C:\\Qt\\6.6.0\\msvc2019_64")
list(APPEND CMAKE_PREFIX_PATH "C:\\Qt\\6.6.1\\msvc2019_64")
elseif(CMAKE_HOST_APPLE)

elseif(CMAKE_HOST_UNIX)
list(APPEND CMAKE_PREFIX_PATH "/opt/Qt/6.6.0/gcc_64")
list(APPEND CMAKE_PREFIX_PATH "/opt/Qt/6.6.1/gcc_64")
endif()

project(
Expand Down

0 comments on commit 81911b1

Please sign in to comment.