balena-cli/.github/actions/test/action.yml

66 lines
1.9 KiB
YAML
Raw Normal View History

2022-11-08 01:40:21 +00:00
---
name: test release
# https://github.com/product-os/flowzone/tree/master/.github/actions
inputs:
json:
description: "JSON stringified object containing all the inputs from the calling workflow"
required: true
secrets:
description: "JSON stringified object containing all the secrets from the calling workflow"
required: true
variables:
description: "JSON stringified object containing all the variables from the calling workflow"
required: true
2022-11-08 01:40:21 +00:00
# --- custom environment
NODE_VERSION:
type: string
2024-01-17 11:43:14 +00:00
default: '20.x'
2022-11-08 01:40:21 +00:00
VERBOSE:
type: string
default: "true"
runs:
# https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
using: "composite"
steps:
# https://github.com/actions/setup-node#caching-global-packages-data
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ inputs.NODE_VERSION }}
cache: npm
2023-11-06 12:53:05 +00:00
- name: Set up Python 3.11
if: runner.os == 'macOS'
uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
with:
python-version: "3.11"
2022-11-08 01:40:21 +00:00
- name: Test release
2022-11-10 20:13:03 +00:00
shell: bash
2022-11-08 01:40:21 +00:00
run: |
set -ea
[[ '${{ inputs.VERBOSE }}' =~ on|On|Yes|yes|true|True ]] && set -x
if [[ -e package-lock.json ]] || [[ -e npm-shrinkwrap.json ]]; then
2022-11-08 01:40:21 +00:00
npm ci
else
npm i
fi
npm run build
npm run test:core
2022-11-08 01:40:21 +00:00
- name: Compress custom source
shell: pwsh
run: tar --exclude-vcs -acf ${{ runner.temp }}/custom.tgz .
2022-11-08 01:40:21 +00:00
- name: Upload custom artifact
uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4
2022-11-08 01:40:21 +00:00
with:
name: custom-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ runner.os }}-${{ runner.arch }}
2022-11-08 01:40:21 +00:00
path: ${{ runner.temp }}/custom.tgz
retention-days: 1