8e6eb4f6d8
* lint and action updates * add custom image tag action * remove publish infra bloat * replace cancel action with native concurrency control * ignore all docs changes for release trigger * image action updates * update publish trigger paths * simplify semver checks * make it possible to call publish * add tests for custom action * rename publish workflows * call publish after successful package release * fix inputs and published package parsing * clarify image tag action errors * move test action * add test events * add changesets action mock * add docs checks * add github action test readme * fix docs check on push * update action versions in docs * cache npm for docs check * pretend to fix bad docs link * fix docs link * Revert "fix docs link" This reverts commita7508f5d55. * Revert "Revert "fix docs link"" This reverts commitec642af3dc. * improve caching * disable automatic publishing after release * limit docs checks to pushes to main and PRs * fix broken links * prevent word splitting and globbing * use latest checkout action everywhere * correctly detect prereleases as valid semver * update to latest cache action
153 lines
3.7 KiB
YAML
153 lines
3.7 KiB
YAML
name: Test Actions
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
get-image-tag-none:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Log current ref
|
|
run: |
|
|
echo "ref: ${{ github.ref }}"
|
|
echo "ref_type: ${{ github.ref_type }}"
|
|
echo "ref_name: ${{ github.ref_name }}"
|
|
|
|
- name: Run without input tag
|
|
id: get_tag
|
|
# this step may fail depending on the current ref
|
|
continue-on-error: true
|
|
uses: ./.github/actions/get-image-tag
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|
|
|
|
get-image-tag-null:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Log current ref
|
|
run: |
|
|
echo "ref: ${{ github.ref }}"
|
|
echo "ref_type: ${{ github.ref_type }}"
|
|
echo "ref_name: ${{ github.ref_name }}"
|
|
|
|
- name: Run without input tag
|
|
id: get_tag
|
|
uses: ./.github/actions/get-image-tag
|
|
# this step may fail depending on the current ref
|
|
continue-on-error: true
|
|
with:
|
|
# this should behave exactly as when no tag is provided
|
|
tag: null
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|
|
|
|
get-image-tag-override:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run with tag override
|
|
id: get_tag
|
|
uses: ./.github/actions/get-image-tag
|
|
with:
|
|
tag: "abc-123"
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|
|
|
|
get-image-tag-invalid-string:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run with invalid string
|
|
id: get_tag
|
|
uses: ./.github/actions/get-image-tag
|
|
# this step is expected to fail
|
|
continue-on-error: true
|
|
with:
|
|
# does not end with alphanumeric character
|
|
tag: "abc-123-"
|
|
|
|
- name: Fail job if previous step did not fail
|
|
if: steps.get_tag.outcome != 'failure'
|
|
run: exit 1
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|
|
|
|
get-image-tag-prerelease:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run with prerelease semver
|
|
id: get_tag
|
|
uses: ./.github/actions/get-image-tag
|
|
with:
|
|
tag: "v1.2.3-beta.4"
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|
|
|
|
get-image-tag-semver:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run with basic semver
|
|
id: get_tag
|
|
uses: ./.github/actions/get-image-tag
|
|
with:
|
|
tag: "v1.2.3"
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|
|
|
|
get-image-tag-invalid-semver:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run with invalid semver
|
|
id: get_tag
|
|
uses: ./.github/actions/get-image-tag
|
|
# this step is expected to fail
|
|
continue-on-error: true
|
|
with:
|
|
tag: "v1.2.3-"
|
|
|
|
- name: Fail job if previous step did not fail
|
|
if: steps.get_tag.outcome != 'failure'
|
|
run: exit 1
|
|
|
|
- name: Verify output
|
|
run: |
|
|
echo "${{ toJson(steps.get_tag) }}"
|