Files
release-downloader/.github/workflows/ci.yml
T
dependabot[bot] e97c7c94cc Bump actions/checkout from 6 to 7 (#953)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 20:45:23 +00:00

138 lines
3.6 KiB
YAML

name: 'Build and Test'
on:
workflow_dispatch:
push:
branches:
- main
tags:
- '*'
permissions:
contents: read
env:
RELEASE_DOWNLOADER_TEST_TOKEN: ${{ secrets.RELEASE_DOWNLOADER_TEST_TOKEN }}
jobs:
build:
if: >-
${{
github.ref != 'refs/heads/main' ||
github.actor != 'github-actions[bot]' ||
!contains(github.event.head_commit.message, '[skip ci]')
}}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repo
uses: actions/checkout@v7
- name: Setup node and cache dependencies
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'
cache: 'npm'
- name: Validate source
shell: bash
run: |
npm ci
npm run verify
- name: Download public release asset
uses: ./
id: download-public
with:
repository: 'robinraju/probable-potato'
tag: '1.0.1'
fileName: 'potato.jpeg'
tarBall: true
zipBall: true
out-file-path: './test-downloads'
- name: List downloaded files
shell: bash
run: ls -lrth test-downloads
- name: Download tarball and zipball only
uses: ./
with:
repository: 'robinraju/probable-potato'
tag: '1.0.2'
tarBall: true
zipBall: true
out-file-path: './public-download'
- name: List downloaded archive files
shell: bash
run: ls -lrth public-download
- name: Test download latest pre-release
uses: ./
with:
repository: 'robinraju/probable-potato'
latest: true
preRelease: true
fileName: 'prerelease.txt'
tarBall: true
zipBall: true
out-file-path: './prerelease-downloads'
- name: List prerelease downloads
shell: bash
run: ls -lrth prerelease-downloads
- name: Verify private repo token is configured
if: ${{ env.RELEASE_DOWNLOADER_TEST_TOKEN == '' }}
shell: bash
run: |
echo "RELEASE_DOWNLOADER_TEST_TOKEN is required for Build and Test runs."
exit 1
- name: Test download from a private repo
uses: ./
id: download-private
with:
repository: 'robinraju/release-downloader-test'
latest: true
fileName: '*'
tarBall: true
zipBall: true
extract: true
token: ${{ env.RELEASE_DOWNLOADER_TEST_TOKEN }}
out-file-path: './downloader-test'
- name: List downloaded files from private repo
shell: bash
run: ls -lrth downloader-test
- name: Read output variables set by previous steps
shell: bash
run: |
if [ -n "${{ steps.download-public.outputs.tag_name }}" ]; then
echo "${{ steps.download-public.outputs.tag_name }}"
else
echo "Unable to read output variable from step download-public"
exit 1
fi
if [ -n "${{ steps.download-private.outputs.tag_name }}" ]; then
echo "${{ steps.download-private.outputs.tag_name }}"
else
echo "Unable to read output variable from step download-private"
exit 1
fi
echo "Downloaded public files:"
echo '${{ steps.download-public.outputs.downloaded_files }}'
echo "Downloaded private files:"
echo '${{ steps.download-private.outputs.downloaded_files }}'