Compare commits

...

18 Commits

Author SHA1 Message Date
Haritha
e7aee39f18 Add conditional check for Pester installation 2025-11-05 12:39:58 -06:00
Haritha
673d91c21a Aligning indentation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-05 12:37:27 -06:00
Haritha
d233269615 Clean up build-tool-packages.yml by removing comments
Removed commented-out test run section from workflow.
2025-11-05 12:18:53 -06:00
Haritha
816a9a3331 Refactor Pester installation step in workflow 2025-11-03 12:07:42 -06:00
Haritha
6c48f687bd Install Pester before running tests
Added a step to install Pester before running tests.
2025-11-03 11:53:28 -06:00
Haritha
e60ec8ae98 Update Pester invocation with configuration options 2025-11-03 11:29:12 -06:00
HarithaVattikuti
db2ae0a36e chore: update macOS version in build workflow to 15-intel 2025-11-03 10:38:51 -06:00
dependabot[bot]
6fdf7f098f Bump actions/download-artifact from 4 to 5 (#88)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  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>
2025-09-17 14:43:33 -05:00
dependabot[bot]
4ae553a74d Bump actions/checkout from 4 to 5 (#90)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [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/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  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>
2025-09-17 14:42:45 -05:00
Haritha
13ba3fd9e0 Replace self hosted with arm runners (#85) 2025-07-29 12:01:39 -05:00
Ben De St Paer-Gotch
552a1a5fda Merge pull request #86 from actions/nebuk89-patch-1
Update README.md
2025-06-12 10:28:55 +01:00
Ben De St Paer-Gotch
1e5d44c7a5 Update README.md 2025-06-06 11:58:24 +01:00
HarithaVattikuti
817eacd539 Create dependabot.yml (#83) 2025-01-23 09:37:14 -06:00
HarithaVattikuti
933aacb90a Add permission section (#84) 2025-01-16 08:45:16 -06:00
HarithaVattikuti
d3c3feee4b Point to ubuntu-22.04 (#82) 2025-01-08 22:43:01 -06:00
Priya Gupta
4028baf988 Replace deprecated release action with GitHub CLI (#80) 2024-11-12 21:15:45 -06:00
aparnajyothi-y
d30950623a Upgrade the checkout to V4 (#79)
* Update versions to latest

* Update create-pr-to-update-manifest.yml

* Update get-new-tool-versions.yml

* Update get-tools-new-versions.yml

* Update validate-manifest.yml
2024-11-12 21:11:54 -06:00
gowridurgad
16b7940fde Add test jobs for arm64 architecture (#76)
* Update build-tool-packages.yml

* Update build-tool-packages.yml

* Update build-tool-packages.yml

* added RUNNER_TYPE

---------

Co-authored-by: aparnajyothi-y <147696841+aparnajyothi-y@users.noreply.github.com>
Co-authored-by: gowridurgad <gowridurga@github.com>
2024-07-09 09:46:50 -05:00
8 changed files with 86 additions and 32 deletions

14
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
# Enable version updates for GitHub Actions
- package-ecosystem: 'github-actions'
# Workflow files stored in the default location of `.github/workflows`
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
directory: '/'
schedule:
interval: 'weekly'

View File

@@ -30,7 +30,7 @@ jobs:
build: build:
name: Build ${{ inputs.tool-name }} ${{ inputs.tool-version }} [${{ matrix.platform }}] [${{ matrix.architecture }}] name: Build ${{ inputs.tool-name }} ${{ inputs.tool-version }} [${{ matrix.platform }}] [${{ matrix.architecture }}]
runs-on: ubuntu-latest runs-on: ubuntu-22.04
env: env:
ARTIFACT_NAME: ${{ inputs.tool-name }}-${{ inputs.tool-version }}-${{ matrix.platform }}-${{ matrix.architecture }} ARTIFACT_NAME: ${{ inputs.tool-name }}-${{ inputs.tool-version }}-${{ matrix.platform }}-${{ matrix.architecture }}
excludewinarm: ${{ !(inputs.tool-name == 'node' && inputs['tool-version'] < '20.0.0' && matrix.architecture == 'arm64' && matrix.platform == 'win32') }} excludewinarm: ${{ !(inputs.tool-name == 'node' && inputs['tool-version'] < '20.0.0' && matrix.architecture == 'arm64' && matrix.platform == 'win32') }}
@@ -43,7 +43,7 @@ jobs:
steps: steps:
- name: checkout - name: checkout
if: env.excludewinarm == 'true' if: env.excludewinarm == 'true'
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -68,6 +68,7 @@ jobs:
env: env:
ARTIFACT_NAME: ${{ inputs.tool-name }}-${{ inputs.tool-version }}-${{ matrix.platform }}-${{ matrix.architecture }} ARTIFACT_NAME: ${{ inputs.tool-name }}-${{ inputs.tool-version }}-${{ matrix.platform }}-${{ matrix.architecture }}
excludewinarm: ${{ !(inputs.tool-name == 'node' && inputs['tool-version'] < '20.0.0' && matrix.architecture == 'arm64' && matrix.platform == 'win32') }} excludewinarm: ${{ !(inputs.tool-name == 'node' && inputs['tool-version'] < '20.0.0' && matrix.architecture == 'arm64' && matrix.platform == 'win32') }}
RUNNER_TYPE: ${{ matrix.runner_type }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -75,26 +76,26 @@ jobs:
- os: ubuntu-latest - os: ubuntu-latest
platform: linux platform: linux
architecture: x64 architecture: x64
- os: macos-13 - os: macos-15-intel
platform: darwin platform: darwin
architecture: x64 architecture: x64
- os: windows-latest - os: windows-latest
platform: win32 platform: win32
architecture: x64 architecture: x64
- os: ubuntu-latest - os: ubuntu-22.04-arm
platform: linux platform: linux
architecture: arm64 architecture: arm64
- os: macos-latest - os: macos-latest
platform: darwin platform: darwin
architecture: arm64 architecture: arm64
- os: windows-latest - os: windows-11-arm
platform: win32 platform: win32
architecture: arm64 architecture: arm64
steps: steps:
- name: checkout - name: checkout
if: env.excludewinarm == 'true' if: env.excludewinarm == 'true'
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -104,7 +105,7 @@ jobs:
- name: Download artifact - name: Download artifact
if: env.excludewinarm == 'true' if: env.excludewinarm == 'true'
uses: actions/download-artifact@v4 uses: actions/download-artifact@v5
with: with:
name: ${{ env.ARTIFACT_NAME }} name: ${{ env.ARTIFACT_NAME }}
path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }} path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
@@ -159,15 +160,26 @@ jobs:
Write-Host "to determine if ${{ inputs.tool-name }} version was consumed from cache or if it was downloaded" Write-Host "to determine if ${{ inputs.tool-name }} version was consumed from cache or if it was downloaded"
for ($i = 0; $i -lt 200; $i++) { Get-Random } for ($i = 0; $i -lt 200; $i++) { Get-Random }
- name: Ensure Pester Installed
if: env.excludewinarm == 'true'
run: |
$module = Get-Module -ListAvailable -Name Pester
if (-not $module -or ($module.Version -lt [Version]"5.0.0")) {
Install-Module Pester -Force -Scope CurrentUser -SkipPublisherCheck
}
- name: Run tests - name: Run tests
if: env.excludewinarm == 'true' if: env.excludewinarm == 'true'
env: env:
VERSION: ${{ inputs.tool-version }} VERSION: ${{ inputs.tool-version }}
run: | run: |
Install-Module Pester -Force -Scope CurrentUser -SkipPublisherCheck
Import-Module Pester Import-Module Pester
$toolName = (Get-Culture).TextInfo.ToTitleCase("${{ inputs.tool-name }}") $toolName = (Get-Culture).TextInfo.ToTitleCase("${{ inputs.tool-name }}")
Invoke-Pester -Script ./$toolName.Tests.ps1 -EnableExit Invoke-Pester -Configuration @{
Run = @{ Path = "./$toolName.Tests.ps1" }
Should = @{ ErrorAction = 'Continue' }
Output = @{ EnableExit = $true }
}
working-directory: ./tests working-directory: ./tests
publish_release: publish_release:
@@ -176,7 +188,7 @@ jobs:
needs: test needs: test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v5
- name: Generate release body - name: Generate release body
id: generate-release-body id: generate-release-body
@@ -190,14 +202,18 @@ jobs:
- name: Publish Release - name: Publish Release
id: create_release id: create_release
uses: actions/create-release@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: shell: bash
tag_name: ${{ inputs.tool-version }}-${{ github.run_id }} run: |
release_name: ${{ inputs.tool-version }} tag_name="${{ inputs.tool-version }}-${{ github.run_id }}"
body: | gh release create "$tag_name" \
${{ steps.generate-release-body.outputs.RELEASE_BODY }} --repo="$GITHUB_REPOSITORY" \
--title="${{ inputs.tool-version }}" \
--notes="${{ steps.generate-release-body.outputs.RELEASE_BODY }}"
release_id=$(gh release view "$tag_name" --repo "$GITHUB_REPOSITORY" --json databaseId --jq '.databaseId')
echo "id=$release_id" >> $GITHUB_OUTPUT
- name: Generate hash for packages - name: Generate hash for packages
run: | run: |

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v5
- name: Install Pester - name: Install Pester
shell: pwsh shell: pwsh
@@ -20,4 +20,4 @@ jobs:
run: | run: |
Import-Module Pester Import-Module Pester
Import-Module Assert Import-Module Assert
Invoke-Pester -EnableExit Invoke-Pester -EnableExit

View File

@@ -20,7 +20,7 @@ jobs:
name: Create Pull Request name: Create Pull Request
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -40,4 +40,4 @@ jobs:
-BranchName "update-versions-manifest-file" ` -BranchName "update-versions-manifest-file" `
-CommitMessage "Update versions-manifest" ` -CommitMessage "Update versions-manifest" `
-PullRequestTitle "[versions-manifest] Update for release from ${formattedDate}" ` -PullRequestTitle "[versions-manifest] Update for release from ${formattedDate}" `
-PullRequestBody "Update versions-manifest.json for release from ${formattedDate}" -PullRequestBody "Update versions-manifest.json for release from ${formattedDate}"

View File

@@ -30,7 +30,7 @@ jobs:
outputs: outputs:
versions_output: ${{ steps.Get_new_versions.outputs.TOOL_VERSIONS }} versions_output: ${{ steps.Get_new_versions.outputs.TOOL_VERSIONS }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -45,7 +45,7 @@ jobs:
env: env:
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}} TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -75,7 +75,7 @@ jobs:
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}} TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
environment: Get Available Tools Versions - Publishing Approval environment: Get Available Tools Versions - Publishing Approval
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -95,7 +95,7 @@ jobs:
needs: [find_new_versions, check_new_versions, trigger_builds] needs: [find_new_versions, check_new_versions, trigger_builds]
if: failure() if: failure()
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true

View File

@@ -42,7 +42,7 @@ jobs:
name: 'Searching for new versions of ${{ matrix.tool.name }}' name: 'Searching for new versions of ${{ matrix.tool.name }}'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
- id: get-new-tool-versions - id: get-new-tool-versions
name: Get new tool versions name: Get new tool versions
run: | run: |
@@ -71,7 +71,7 @@ jobs:
needs: [find-new-tool-versions] needs: [find-new-tool-versions]
if: failure() if: failure()
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v5
- id: get-failed-jobs - id: get-failed-jobs
name: Get failed jobs name: Get failed jobs
run: | run: |

View File

@@ -24,7 +24,7 @@ jobs:
validation: validation:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true
@@ -37,7 +37,7 @@ jobs:
needs: [validation] needs: [validation]
if: failure() if: failure()
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v5
with: with:
submodules: true submodules: true

View File

@@ -1,5 +1,29 @@
# Common tools for generation of packages in the actions/*-versions repositories # Common tools for generation of packages in the actions/*-versions repositories
This repository contains PowerShell modules that are used to generate packages for Actions. The packages are consumed by the images generated through [actions/runner-images](https://github.com/actions/runner-images) and some of the setup-* Actions This repository contains PowerShell modules that are used to generate packages for Actions. The packages are consumed by the images generated through [actions/runner-images](https://github.com/actions/runner-images) and some of the setup-* Actions
## Contribution ## Recommended permissions
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure
When using the `versions-package-tools` in your GitHub Actions workflow, it is recommended to set the following permissions to ensure proper functionality:
```yaml
permissions:
contents: read # access to read repository's content
actions: read # access to reading actions
```
### Note
Thank you for your interest in this GitHub action, however, right now we are not taking contributions. Add commentMore actionsAdd commentMore actions
We continue to focus our resources on strategic areas that help our customers be successful while making developers' lives easier. While GitHub Actions remains a key part of this vision, we are allocating resources towards other areas of Actions and are not taking contributions to this repository at this time. The GitHub public roadmap is the best place to follow along for any updates on features were working on and what stage theyre in.
We are taking the following steps to better direct requests related to GitHub Actions, including:
1. We will be directing questions and support requests to our [Community Discussions area](https://github.com/orgs/community/discussions/categories/actions)
2. High Priority bugs can be reported through Community Discussions or you can report these to our support team https://support.github.com/contact/bug-report.
3. Security Issues should be handled as per our [security.md](security.md)
We will still provide security updates for this project and fix major breaking changes during this time.
You are welcome to still raise bugs in this repo.