Bump actions/checkout from 4.0.0 to 4.1.1 #2530
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
# This is a basic workflow | |
name: ci | |
# Controls when the action will run. Triggers the workflow on push or pull request | |
# events but only for the main branch | |
on: | |
push: | |
branches: ["main", "devel/*"] | |
pull_request: | |
branches: ["main", "devel/*"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
env: | |
FORCE_COLOR: "1" # make mocha output colorful | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
build: | |
name: ${{ matrix.name }} | |
# ${{ matrix.name && matrix.name || format('{0} ({1})', matrix.task-name, matrix.os) }} | |
# The type of runner that the job will run on | |
runs-on: ${{ matrix.os }} | |
# see https://github.com/containers/podman/issues/13609 | |
continue-on-error: ${{ contains(matrix.name, 'macos') && true || false }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Avoid letting github do the matrix multiplication and use manual | |
# includes for each job, this gives us fine control over job name. | |
continue-on-error: | |
- false | |
os: | |
- ubuntu-22.04 | |
task-name: | |
- test | |
upload-artifact: | |
- false | |
name: | |
- test | |
include: | |
- name: lint | |
task-name: lint | |
os: ubuntu-22.04 | |
upload-artifact: true | |
env: | |
SKIP_PODMAN: 1 | |
SKIP_DOCKER: 1 | |
- name: devel | |
# this job will install latest version of ansible-language-server | |
# instead of the one mentioned in lock file | |
task-name: devel | |
os: ubuntu-22.04 | |
- name: test (macos) | |
task-name: test | |
os: macos-12 | |
env: | |
SKIP_PODMAN: 1 | |
SKIP_DOCKER: 1 | |
# only until we fix some broken tests, as we need it to pass | |
# in order to enable the caching | |
continue-on-error: true | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- name: Checkout vscode-ansible | |
uses: actions/[email protected] | |
- name: Install Task | |
uses: arduino/setup-task@v1 | |
with: | |
version: 3.x | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup yarn | |
run: yarn set version latest | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Enable caching | |
uses: actions/cache@v3 | |
with: | |
path: | | |
.vscode-test | |
.yarn/cache | |
out/ext | |
out/test-resources | |
out/test-resources-oldest | |
~/.cache/pip | |
~/.cache/yarn | |
key: ${{ runner.os }}-${{ matrix.task-name }}-${{ hashFiles('package.json', 'yarn.lock', '.config/requirements.txt', 'tools/*.*') }} | |
- name: Enable caching for podman-machine | |
if: "contains(matrix.os, 'macos')" | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.local/share/containers | |
~/.config/containers | |
key: ${{ runner.os }}-${{ matrix.task-name }}-${{ hashFiles('package.json', 'yarn.lock', '.config/requirements.txt', '**/Taskfile.yml', 'tools/*.*') }} | |
- name: Use NodeJS v18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: task setup | |
run: task setup | |
## uncomment to debug on GHA runner | |
# - name: Setup tmate session | |
# uses: mxschmitt/action-tmate@v3 | |
- name: task package | |
run: task package --output=group --output-group-begin='::group::{{.TASK}}' --output-group-end='::endgroup::' | |
- name: task ${{ matrix.task-name }} | |
env: | |
TEST_LIGHTSPEED_ACCESS_TOKEN: ${{ secrets.TEST_LIGHTSPEED_ACCESS_TOKEN }} | |
TEST_LIGHTSPEED_URL: ${{ secrets.TEST_LIGHTSPEED_URL }} | |
# xvfb needed for chrome headless tests | |
uses: coactions/setup-xvfb@v1 | |
with: | |
run: task ${{ matrix.task-name }} --output=group --output-group-begin='::group::{{.TASK}}' --output-group-end='::endgroup::' | |
continue-on-error: ${{ matrix.continue-on-error || false }} | |
- name: Upload vsix artifact | |
if: ${{ github.event.number && matrix.upload-artifact }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ansible-extension-from-pr-${{ github.event.number }}.vsix | |
path: ansible-*.vsix | |
retention-days: 15 | |
- name: Upload test logs | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: logs-${{ matrix.os }}-${{ matrix.task-name }}.zip | |
path: | | |
out/e2eTestReport | |
out/log | |
out/test-resources/settings/logs | |
out/userdata/logs | |
if-no-files-found: ignore | |
retention-days: 15 | |
- name: Stop services | |
if: "contains(matrix.os, 'macos')" | |
# Stopping podman machine is needed or caching it will fail | |
run: | | |
command -v podman && { | |
podman machine stop | |
while [[ "$(podman machine ls --format '{{.Running}}' \ | |
--noheading || true)" != "false" ]]; do | |
sleep 1 | |
echo -n . | |
done | |
echo . | |
} | |
continue-on-error: true | |
## commented out for future use to debug on the GHA node if required | |
# - name: Setup tmate session | |
# if: ${{ always() }} | |
# uses: mxschmitt/action-tmate@v3 | |
check: # This job does nothing and is only used for the branch protection | |
if: always() | |
needs: | |
- build | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} |