Skip to content

UploadIntoRelease

UploadIntoRelease #15

name: Download and Release
on:
workflow_dispatch:
inputs:
file_urls:
description: 'Comma-separated file URLs to download, e.g., https://example.com/file1.zip,https://example.com/file2.zip'
required: true
permissions:
contents: write
jobs:
download_and_release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Extract file URL array
id: extract_file_url_array
run: |
IFS=',' read -r -a file_url_array <<< "${{ github.event.inputs.file_urls }}"
echo "::set-output name=file_url_array::${file_url_array[*]}"
- name: Extract filenames
id: extract_filenames
run: |
IFS=' ' read -r -a file_url_array <<< "${{ steps.extract_file_url_array.outputs.file_url_array }}"
filenames=()
for file_url in "${file_url_array[@]}"; do
filename=$(basename "$file_url")
filenames+=("$filename")
done
echo "::set-output name=filenames::${filenames[*]}"
- name: Get current date
id: get_date
run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')"
- name: Create download directory
run: mkdir -p download
- name: Download files
run: |
IFS=',' read -r -a file_url_array <<< "${{ github.event.inputs.file_urls }}"
for file_url in "${file_url_array[@]}"; do
filename=$(basename $file_url)
curl -L $file_url -o download/$filename
done
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
tag: "UploadAt-${{ steps.get_date.outputs.date }}"
name: "Upload ${{ steps.extract_filenames.outputs.filenames }}"
body: 'Download ${{ steps.extract_filenames.outputs.filenames }}'
artifacts: download/*