169 lines
6.7 KiB
YAML
169 lines
6.7 KiB
YAML
# WIP:
|
|
# Run when a release tag is pushed,
|
|
# creating the new release.
|
|
# Expects that the binaries* workflows have been completed first.
|
|
|
|
name: release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '1*'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
# Get artifact from the latest binaries-linux-x64 run
|
|
- name: Get latest linux binaries artifact
|
|
uses: dawidd6/action-download-artifact@09f2f74827fd3a8607589e5ad7f9398816f540fe
|
|
# https://github.com/dawidd6/action-download-artifact v3.1.4, unverified so needs to be whitelisted in repo settings
|
|
with:
|
|
# Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
|
|
# Required, if the artifact is from a different repo
|
|
# Required, if the repo is private a Personal Access Token with `repo` scope is needed or GitHub token in a job where the permissions `action` scope set to `read`
|
|
# github_token: ${{secrets.GITHUB_TOKEN}}
|
|
# Optional, workflow file name or ID
|
|
# If not specified, will be inferred from run_id (if run_id is specified), or will be the current workflow
|
|
workflow: binaries-linux-x64.yml
|
|
# Optional, will use specified workflow run
|
|
# use ${{ github.event.workflow_run.id }} when your action runs in a workflow_run event
|
|
# and wants to download from the triggering workflow run
|
|
# run_id: 1122334455
|
|
# If no workflow is set and workflow_search set to true, then the most recent workflow matching
|
|
# all other criteria will be looked up instead of using the current workflow
|
|
workflow_search: false
|
|
# Optional, the status or conclusion of a completed workflow to search for
|
|
# Can be one of a workflow conclusion:
|
|
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
|
|
# Or a workflow status:
|
|
# "completed", "in_progress", "queued"
|
|
# Use the empty string ("") to ignore status or conclusion in the search
|
|
workflow_conclusion: success
|
|
# Optional, will get head commit SHA
|
|
# pr: ${{github.event.pull_request.number}}
|
|
# Optional, no need to specify if PR is
|
|
# commit: ${{github.event.pull_request.head.sha}}
|
|
# Optional, will use the specified branch. Defaults to all branches
|
|
# branch: binaries-linux-x64
|
|
# Optional, defaults to all types
|
|
# event: push
|
|
# Optional, run number from the workflow
|
|
# run_number: 34
|
|
# Optional, uploaded artifact name,
|
|
# will download all artifacts if not specified
|
|
# and extract them into respective subdirectories
|
|
# https://github.com/actions/download-artifact#download-all-artifacts
|
|
# is treated as a regular expression if input name_is_regexp is true
|
|
# will download only those artifacts with a name that matches this regular expression
|
|
# https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions
|
|
# name: artifact_name
|
|
# Optional, name is treated as a regular expression if set true
|
|
# name_is_regexp: true
|
|
# Optional, a directory where to extract artifact(s), defaults to the current directory
|
|
path: artifacts
|
|
# Optional, defaults to current repo
|
|
# repo: ${{ github.repository }}
|
|
# Optional, check the workflow run to whether it has an artifact
|
|
# then will get the last available artifact from the previous workflow
|
|
# default false, just try to download from the last one
|
|
check_artifacts: false
|
|
# Optional, search for the last workflow run whose stored an artifact named as in `name` input
|
|
# default false
|
|
search_artifacts: false
|
|
# Optional, choose to skip unpacking the downloaded artifact(s)
|
|
# default false
|
|
skip_unpack: false
|
|
# Optional, choose how to exit the action if no artifact is found
|
|
# can be one of:
|
|
# "fail", "warn", "ignore"
|
|
# default fail
|
|
# if_no_artifact_found: fail
|
|
# Optional, allow forks when searching for artifacts
|
|
# default true
|
|
allow_forks: false
|
|
|
|
- name: Inspect
|
|
shell: bash
|
|
run: |
|
|
echo .:
|
|
ls -lF
|
|
echo artifacts:
|
|
ls -lRF artifacts
|
|
|
|
# - name: Make tarball
|
|
# shell: bash
|
|
# run: |
|
|
# outdir="target/${{ matrix.target }}/release"
|
|
# staging="jj-${{ github.event.release.tag_name }}-${{ matrix.target }}"
|
|
# mkdir "$staging"
|
|
# cp {README.md,LICENSE} "$staging/"
|
|
# if [ "${{ matrix.os }}" = "windows-2022" ]; then
|
|
# cp "$outdir/jj.exe" "$staging/"
|
|
# cd "$staging"
|
|
# 7z a "../$staging.zip" .
|
|
# echo "ASSET=$staging.zip" >> $GITHUB_ENV
|
|
# else
|
|
# cp "$outdir/jj" "$staging/"
|
|
# tar czf "$staging.tar.gz" -C "$staging" .
|
|
# echo "ASSET=$staging.tar.gz" >> $GITHUB_ENV
|
|
# fi
|
|
|
|
# - name: Create release
|
|
# uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # https://github.com/softprops/action-gh-release 2.0.5
|
|
# # permissions:
|
|
# # contents: write
|
|
# # https://github.com/softprops/action-gh-release?tab=readme-ov-file#-customizing
|
|
# with:
|
|
# draft: true
|
|
# body_path: ${{ github.workspace }}/doc/relnotes.github.md
|
|
# fail_on_unmatched_files: true
|
|
# # files: |
|
|
# # Release.txt
|
|
# # LICENSE
|
|
|
|
|
|
|
|
# snippets
|
|
|
|
|
|
# body: |
|
|
# ${{ fromJSON(steps.<step-id>.outputs.assets)[0].browser_download_url }}
|
|
|
|
# if you intend to run workflows on the release event (on: { release: { types: [published] } }),
|
|
# you need to use a personal access token for this action, as the default secrets.GITHUB_TOKEN does not trigger another workflow.
|
|
|
|
|
|
|
|
# https://github.com/marketplace/actions/safe-download-workflow-artifact
|
|
|
|
# https://github.com/actions/upload-artifact/issues/89#issuecomment-1194408215
|
|
|
|
# https://www.eliostruyf.com/retrieving-artifact-previous-github-actions-workflow/
|
|
|
|
# We have two workflows, one for building and one for releasing built artifacts upon a tag release.
|
|
# They're both summoned from one push event, and the release job waits for the other job:
|
|
# https://github.com/dawidd6/action-download-artifact/issues/245
|
|
|
|
|
|
# - name: version
|
|
# run: echo "::set-output name=version::$(./bin/azblogfilter --version)"
|
|
# id: version
|
|
|
|
# - name: release
|
|
# uses: actions/create-release@v1
|
|
# id: create_release
|
|
# with:
|
|
# draft: false
|
|
# prerelease: false
|
|
# release_name: ${{ steps.version.outputs.version }}
|
|
# tag_name: ${{ github.ref }}
|
|
# body_path: CHANGELOG.md
|
|
# env:
|
|
# GITHUB_TOKEN: ${{ github.token }}
|