Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run workflows depending on changed files #11723

Merged
merged 43 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
4680c7d
update: CI PR workflows
4e6 Nov 29, 2024
234b87b
fix: workflow call
4e6 Nov 29, 2024
6c28719
fix: report-success
4e6 Nov 29, 2024
2ab036d
fix: wasm check permissions
4e6 Nov 29, 2024
ae6a57d
fix: concurrency settings
4e6 Nov 29, 2024
a782375
update: final report
4e6 Nov 29, 2024
7f3d4d1
update: single checks report
4e6 Nov 29, 2024
4a1d023
misc: cleanup
4e6 Nov 29, 2024
aa3d4f5
misc: wasm dependency
4e6 Dec 1, 2024
b8d6164
update: print files changed
4e6 Dec 2, 2024
2391dde
update: always run on develop
4e6 Dec 2, 2024
8f0c76a
update: concurrency
4e6 Dec 2, 2024
b026e2c
update: changed files
4e6 Dec 2, 2024
deb8ca0
update: macos continue on error
4e6 Dec 2, 2024
db1e358
DEBUG: continue-on-error
4e6 Dec 2, 2024
cf20381
DEBUG: speedup continue-on-error
4e6 Dec 2, 2024
8c5819c
DEBUG: continue-on-error 1
4e6 Dec 2, 2024
c627fa6
DEBUG: revert continue-on-error
4e6 Dec 2, 2024
66e7a49
update: gui macos continue on error
4e6 Dec 2, 2024
fc09e7e
refactor: rename pull request workflow
4e6 Dec 2, 2024
8978508
refactor: rename workflows
4e6 Dec 2, 2024
9029a81
update: pull request workflow
4e6 Dec 2, 2024
8410bb1
misc: cleanup debug workflow
4e6 Dec 2, 2024
91158b3
update: finishing touches
4e6 Dec 2, 2024
4868af5
misc: naming
4e6 Dec 2, 2024
6bde1f7
feat: optional targets
4e6 Dec 3, 2024
578fed7
misc: naming
4e6 Dec 3, 2024
d04f8c3
update: reuse gui-changed-files
4e6 Dec 5, 2024
0bbc3d5
update: speedup
4e6 Dec 5, 2024
bdfdd53
DEBUG: git-changed-files unnamed
4e6 Dec 5, 2024
41f9b42
update: reuse changed files
4e6 Dec 5, 2024
443d786
update: split pull requests
4e6 Dec 5, 2024
834e787
fix: shell script
4e6 Dec 5, 2024
fabf077
misc: cleanup
4e6 Dec 5, 2024
a492747
misc: naming
4e6 Dec 5, 2024
f5e2864
misc: cleanup shader-tools workflow
4e6 Dec 5, 2024
472d38d
update: changed files patterns
4e6 Dec 5, 2024
ca68f1f
Merge branch 'develop' into wip/db/11579-run-ci-backend-when-sources-…
4e6 Dec 6, 2024
27f72b7
misc: optimize naming
4e6 Dec 6, 2024
cb8a674
Merge branch 'develop' into wip/db/11579-run-ci-backend-when-sources-…
4e6 Dec 17, 2024
14c7ac5
fix: after merge
4e6 Dec 17, 2024
4225fbb
update: regen workflows
4e6 Dec 17, 2024
eb4071b
update: check prettier outcome
4e6 Dec 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/engine-changed-files.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# This file is not auto-generated. Feel free to edit it.

name: Engine Changed Files

on:
workflow_call:
outputs:
all_changed_files:
description: "Returns all changed files"
value: ${{ jobs.engine-changed-files.outputs.all_changed_files }}
any_changed:
description: "Returns `true` when any of the filenames have changed"
value: ${{ jobs.engine-changed-files.outputs.any_changed }}

jobs:
engine-changed-files:
runs-on: ubuntu-latest
name: Changed Files
outputs:
all_changed_files: ${{ steps.engine-changed-files.outputs.all_changed_files }}
any_changed: ${{ steps.engine-changed-files.outputs.any_changed }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Get changed files
id: engine-changed-files
uses: tj-actions/changed-files@v45
with:
files: |
distribution/**
engine/**
lib/**
project/**
std-bits/**
test/**
build.sbt
.cargo/**
Cargo.lock
Cargo.toml
rust-toolchain.toml
.github/workflows/engine-changed-files.yml
.github/workflows/engine-checks-optional.yml
.github/workflows/engine-checks.yml
.github/workflows/engine-pull-request.yml
- name: List all changed files
env:
ALL_CHANGED_FILES: ${{ steps.engine-changed-files.outputs.all_changed_files }}
run: |
if [[ "${{ steps.engine-changed-files.outputs.any_changed }}" == "true" ]]; then
echo "Files changed:"
fi
for file in ${ALL_CHANGED_FILES}; do
echo "$file"
done
179 changes: 179 additions & 0 deletions .github/workflows/engine-checks-optional.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# This file is auto-generated. Do not edit it manually!
# Edit the enso_build::ci_gen module instead and run `cargo run --package enso-build-ci-gen`.

name: Engine Checks (Optional)
on:
workflow_dispatch:
inputs:
clean_build_required:
description: Clean before and after the run.
required: false
type: boolean
default: false
workflow_call: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-engine-checks-optional
cancel-in-progress: ${{ github.ref != 'refs/heads/develop' }}
jobs:
enso-build-ci-gen-job-ci-check-backend-graal-vm-ce-macos-amd64:
name: Engine (GraalVM CE) (macos, amd64)
runs-on:
- macos-13
continue-on-error: true
steps:
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
name: Installing wasm-pack
uses: jetli/[email protected]
with:
version: v0.12.1
- name: Expose Artifact API and context information.
uses: actions/github-script@v7
with:
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
- name: Checking out the repository
uses: actions/checkout@v4
with:
clean: false
submodules: recursive
- name: Build Script Setup
run: ./run --help || (git clean -ffdx && ./run --help)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: "(contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean before
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run backend ci-check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
run: Get-ChildItem -Force -Recurse
- if: failure() && runner.os != 'Windows'
name: List files if failed (non-Windows)
run: ls -lAR
- if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean after
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
env:
GRAAL_EDITION: GraalVM CE
enso-build-ci-gen-job-jvm-tests-graal-vm-ce-macos-amd64:
name: JVM Tests (GraalVM CE) (macos, amd64)
runs-on:
- macos-13
continue-on-error: true
steps:
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
name: Installing wasm-pack
uses: jetli/[email protected]
with:
version: v0.12.1
- name: Expose Artifact API and context information.
uses: actions/github-script@v7
with:
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
- name: Checking out the repository
uses: actions/checkout@v4
with:
clean: false
submodules: recursive
- name: Build Script Setup
run: ./run --help || (git clean -ffdx && ./run --help)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: "(contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean before
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run backend test jvm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
name: Engine Test Reporter
uses: dorny/test-reporter@v1
with:
max-annotations: 50
name: Engine Tests Report (GraalVM CE, macos, amd64)
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
path-replace-backslashes: true
reporter: java-junit
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
run: Get-ChildItem -Force -Recurse
- if: failure() && runner.os != 'Windows'
name: List files if failed (non-Windows)
run: ls -lAR
- if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean after
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
env:
GRAAL_EDITION: GraalVM CE
permissions:
checks: write
enso-build-ci-gen-job-standard-library-tests-graal-vm-ce-macos-amd64:
name: Standard Library Tests (GraalVM CE) (macos, amd64)
runs-on:
- macos-13
continue-on-error: true
steps:
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
name: Installing wasm-pack
uses: jetli/[email protected]
with:
version: v0.12.1
- name: Expose Artifact API and context information.
uses: actions/github-script@v7
with:
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
- name: Checking out the repository
uses: actions/checkout@v4
with:
clean: false
submodules: recursive
- name: Build Script Setup
run: ./run --help || (git clean -ffdx && ./run --help)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: "(contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean before
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run backend test standard-library
env:
ENSO_LIB_S3_AWS_ACCESS_KEY_ID: ${{ secrets.ENSO_LIB_S3_AWS_ACCESS_KEY_ID }}
ENSO_LIB_S3_AWS_REGION: ${{ secrets.ENSO_LIB_S3_AWS_REGION }}
ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY: ${{ secrets.ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: (success() || failure()) && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
name: Standard Library Test Reporter
uses: dorny/test-reporter@v1
with:
max-annotations: 50
name: Standard Library Tests Report (GraalVM CE, macos, amd64)
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
path-replace-backslashes: true
reporter: java-junit
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
run: Get-ChildItem -Force -Recurse
- if: failure() && runner.os != 'Windows'
name: List files if failed (non-Windows)
run: ls -lAR
- if: "(always()) && (contains(github.event.pull_request.labels.*.name, 'CI: Clean build required') || inputs.clean_build_required)"
name: Clean after
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
env:
GRAAL_EDITION: GraalVM CE
permissions:
checks: write
env:
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
Loading
Loading