🐎 ci: change trigger

change the triggering mechanism to skip jobs upon detecting changes
This commit is contained in:
m1m1sha
2024-05-10 22:25:37 +08:00
parent ab0404bf6e
commit 486286e497
3 changed files with 46 additions and 28 deletions

View File

@@ -3,16 +3,8 @@ name: EasyTier Core
on: on:
push: push:
branches: ["develop", "main"] branches: ["develop", "main"]
paths:
- "easytier.toml"
- "easytier/**"
- ".github/workflows/core.yml"
pull_request: pull_request:
branches: ["develop", "main"] branches: ["develop", "main"]
paths:
- "easytier.toml"
- "easytier/**"
- ".github/workflows/core.yml"
env: env:
CARGO_TERM_COLOR: always CARGO_TERM_COLOR: always
@@ -23,6 +15,20 @@ defaults:
shell: bash shell: bash
jobs: jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'never'
skip_after_successful_duplicate: 'true'
paths: '["Cargo.toml", "easytier/**", ".github/workflows/core.yml"]'
build: build:
strategy: strategy:
fail-fast: false fail-fast: false
@@ -50,6 +56,8 @@ jobs:
TARGET: ${{ matrix.TARGET }} TARGET: ${{ matrix.TARGET }}
OS: ${{ matrix.OS }} OS: ${{ matrix.OS }}
OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }} OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }}
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View File

@@ -3,18 +3,8 @@ name: EasyTier GUI
on: on:
push: push:
branches: ["develop", "main"] branches: ["develop", "main"]
paths:
- "easytier.toml"
- "easytier/**"
- "easytier-gui/**"
- ".github/workflows/gui.yml"
pull_request: pull_request:
branches: ["develop", "main"] branches: ["develop", "main"]
paths:
- "easytier.toml"
- "easytier/**"
- "easytier-gui/**"
- ".github/workflows/gui.yml"
env: env:
CARGO_TERM_COLOR: always CARGO_TERM_COLOR: always
@@ -25,6 +15,20 @@ defaults:
shell: bash shell: bash
jobs: jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'never'
skip_after_successful_duplicate: 'true'
paths: '["Cargo.toml", "easytier/**", "easytier-gui/**", ".github/workflows/gui.yml"]'
build-gui: build-gui:
strategy: strategy:
fail-fast: false fail-fast: false
@@ -54,6 +58,8 @@ jobs:
OS: ${{ matrix.OS }} OS: ${{ matrix.OS }}
GUI_TARGET: ${{ matrix.GUI_TARGET }} GUI_TARGET: ${{ matrix.GUI_TARGET }}
OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }} OSS_BUCKET: ${{ secrets.ALIYUN_OSS_BUCKET }}
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View File

@@ -3,18 +3,8 @@ name: EasyTier Test
on: on:
push: push:
branches: ["develop", "main"] branches: ["develop", "main"]
paths:
- "easytier.toml"
- "easytier/**"
- "easytier-gui/**"
- ".github/workflows/test.yml"
pull_request: pull_request:
branches: ["develop", "main"] branches: ["develop", "main"]
paths:
- "easytier.toml"
- "easytier/**"
- "easytier-gui/**"
- ".github/workflows/test.yml"
env: env:
CARGO_TERM_COLOR: always CARGO_TERM_COLOR: always
@@ -25,6 +15,20 @@ defaults:
shell: bash shell: bash
jobs: jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'never'
skip_after_successful_duplicate: 'true'
paths: '["Cargo.toml", "easytier/**", ".github/workflows/test.yml"]'
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps: