Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/__cleanup-db-cluster-dir.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .github/workflows/__config-input.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .github/workflows/__language-aliases.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/check-expected-release-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ defaults:

jobs:
check-expected-release-files:
runs-on: ubuntu-latest
runs-on: ubuntu-slim

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/label-pr-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions:
jobs:
sizeup:
name: Label PR with size
runs-on: ubuntu-latest
runs-on: ubuntu-slim

steps:
- name: Run sizeup
Expand Down
1 change: 1 addition & 0 deletions pr-checks/checks/cleanup-db-cluster-dir.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: "Clean up database cluster directory"
description: "The database cluster directory is cleaned up if it is not empty."
versions: ["linked"]
runnerSize: "slim"
steps:
- name: Add a file to the database cluster directory
run: |
Expand Down
1 change: 1 addition & 0 deletions pr-checks/checks/config-input.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: "Config input"
description: "Tests specifying configuration using the config input"
installNode: true
versions: ["linked"]
runnerSize: "slim"
steps:
- name: Copy queries into workspace
run: |
Expand Down
1 change: 1 addition & 0 deletions pr-checks/checks/language-aliases.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: "Language aliases"
description: "Tests that language aliases are resolved correctly"
versions: ["linked"]
runnerSize: "slim"
steps:
- uses: ./../action/init
with:
Expand Down
37 changes: 25 additions & 12 deletions pr-checks/sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,22 +76,34 @@ def writeHeader(checkStream):
if version == "latest":
raise ValueError('Did not recognize "version: latest". Did you mean "version: linked"?')

runnerImages = ["ubuntu-latest", "macos-latest", "windows-latest"]
# Determine runner size
# "default" is used in check specifications and maps to "latest" for the actual runner image
runnerSize = checkSpecification.get('runnerSize', 'default')
if runnerSize == 'default':
runnerSize = 'latest'

# Build runner images based on runner size and operating systems
operatingSystems = checkSpecification.get('operatingSystems', ["ubuntu"])

for operatingSystem in operatingSystems:
runnerImagesForOs = [image for image in runnerImages if image.startswith(operatingSystem)]

for runnerImage in runnerImagesForOs:
matrix.append({
'os': runnerImage,
'version': version
})
# Construct the runner image name: {os}-{size}
# Note: Not all OS types may support all runner sizes (e.g., only ubuntu-slim exists as of now)
runnerImage = f"{operatingSystem}-{runnerSize}"
matrix.append({
'os': runnerImage,
'version': version
})

useAllPlatformBundle = "false" # Default to false
if checkSpecification.get('useAllPlatformBundle'):
useAllPlatformBundle = checkSpecification['useAllPlatformBundle']

# Store the runner size for use in prepare-test step
# This is determined once per check specification
finalRunnerSize = checkSpecification.get('runnerSize', 'default')
if finalRunnerSize == 'default':
finalRunnerSize = 'latest'


if 'analysisKinds' in checkSpecification:
newMatrix = []
Expand Down Expand Up @@ -136,9 +148,10 @@ def writeHeader(checkStream):
'with': {
'version': '${{ matrix.version }}',
'use-all-platform-bundle': useAllPlatformBundle,
# If the action is being run from a container, then do not setup kotlin.
# This is because the kotlin binaries cannot be downloaded from the container.
'setup-kotlin': str(not 'container' in checkSpecification).lower(),
# If the action is being run from a container or on a slim runner, then do not setup kotlin.
# Containers: kotlin binaries cannot be downloaded from the container.
# Slim runners: limited resources may cause issues with Kotlin setup.
'setup-kotlin': str(not 'container' in checkSpecification and finalRunnerSize != 'slim').lower(),
}
})

Expand Down