Skip to content

Modernize GitHub Actions workflows for Node 20 deprecation and release-tag propagation#1167

Draft
Copilot wants to merge 2 commits into
masterfrom
copilot/update-singularity-image-build
Draft

Modernize GitHub Actions workflows for Node 20 deprecation and release-tag propagation#1167
Copilot wants to merge 2 commits into
masterfrom
copilot/update-singularity-image-build

Conversation

Copilot AI commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

GitHub Actions runs were emitting Node 20 deprecation and set-output warnings from legacy action versions, with the singularity deploy workflow as the primary source. This PR updates deprecated action pins across workflows and removes the Node12-based release tag helper by switching to native event/input-driven tag propagation.

  • Singularity deploy runtime upgrade

    • Updated deprecated pins in .github/workflows/singularity-deploy.yml:
      • actions/checkout@v1@v6
      • chrnorm/deployment-action@releases/v1@v2.0.8
      • chrnorm/deployment-status@releases/v1@v2.0.4
    • This aligns deployment actions with Node24-capable upstream releases.
  • Docker workflow action refresh

    • Updated old major versions in:
      • .github/workflows/main.yml
      • .github/workflows/triggered-build.yml
      • .github/workflows/release.yml
      • .github/workflows/release-triggered.yml
    • Upgrades include:
      • actions/checkoutv6
      • docker/login-actionv4
      • docker/setup-buildx-actionv4
      • docker/build-push-actionv7
      • peter-evans/repository-dispatchv4
  • Removed legacy release-tag action (Node12)

    • Replaced kaliber5/action-get-release@v1 in release workflows.
    • release.yml now derives tag from workflow_dispatch.inputs.release_tag or github.event.release.tag_name.
    • Dispatch payload now includes tag, and release-triggered.yml consumes github.event.client_payload.tag (with workflow_dispatch fallback input).
  • Python publish workflow modernization

    • Updated .github/workflows/python-publish.yml:
      • actions/checkout@v3@v6
      • actions/setup-python@v3@v6
# release.yml
client-payload: '{"ref":"${{ github.ref }}","sha":"${{ github.sha }}","tag":"${{ inputs.release_tag || github.event.release.tag_name }}"}'

# release-triggered.yml
tags: nextgenusfs/funannotate:${{ inputs.release_tag || github.event.client_payload.tag }}

@hyphaltip

Copy link
Copy Markdown
Collaborator

@nextgenusfs I wanted to update the workflow for singularity deploy - do you want to look over this and see if is okay?

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes GitHub Actions workflows to address Node runtime deprecation warnings by upgrading legacy action versions and simplifying release-tag propagation for Docker image publishing workflows.

Changes:

  • Upgraded deprecated GitHub Actions pins across Docker build, dispatch, and deployment workflows.
  • Removed the legacy Node12-based “get latest release tag” helper by deriving tags from the triggering event or manual inputs.
  • Added release tag propagation through repository_dispatch payloads for downstream release workflows.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
.github/workflows/main.yml Updates Docker build workflow action versions (checkout/docker/*/repository-dispatch).
.github/workflows/triggered-build.yml Updates action versions for the repository-dispatch triggered Docker build.
.github/workflows/singularity-deploy.yml Upgrades checkout and deployment/deployment-status actions used for Singularity deployment.
.github/workflows/release.yml Refreshes Docker actions and replaces legacy release-tag helper with event/input-driven tag selection and dispatch payload propagation.
.github/workflows/release-triggered.yml Refreshes Docker actions and switches tagging to consume the dispatched tag (with manual fallback).
.github/workflows/python-publish.yml Updates checkout/setup-python action versions for PyPI publishing workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

file: ./Dockerfile
push: true
tags: nextgenusfs/funannotate-slim:${{ steps.get_release.outputs.tag_name }}
tags: nextgenusfs/funannotate-slim:${{ inputs.release_tag || github.event.release.tag_name }}
repository: nextgenusfs/funannotate
event-type: docker-hub-release-complete
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "tag": "${{ inputs.release_tag || github.event.release.tag_name }}"}'
file: ./Dockerfile2
push: true
tags: nextgenusfs/funannotate:${{ steps.get_release.outputs.tag_name }}
tags: nextgenusfs/funannotate:${{ inputs.release_tag || github.event.client_payload.tag }}
Comment on lines 23 to 27
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v6
with:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants