Skip to content

Republish Specified Packages #3

Republish Specified Packages

Republish Specified Packages #3

name: Republish Specified Packages
on:
workflow_dispatch:
inputs:
myInput:
description: 'Enter the package path'
required: true
default: ''
env:
KPM_REG: "docker.io"
KPM_REPO: "kcllang"
jobs:
publish_pkg:
# NOTE:
# - This is limited to pull_request* events and would raise an error for other events.
# - A maximum of 3000 files can be returned.
# - For more flexibility and no limitations see "Using local .git history" above.
runs-on: ubuntu-latest
name: Update Package Info on AH
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.21
- name: Install kpm
run: go install kcl-lang.io/kpm@latest
- name: Login
run: kpm login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} docker.io
- name: Republish to docker.io
run: |
find ${{ github.event.inputs.myInput }} -name "kcl.mod" -execdir bash -c 'echo Pushing in directory: "$PWD" && kpm push || echo Failed to push in directory: "$PWD"' \;
- name: Republish to ghcr.io
run: |
kpm login -u ${{ secrets.DEPLOY_ACCESS_NAME }} -p ${{ secrets.DEPLOY_ACCESS_TOKEN }} ghcr.io
find ${{ github.event.inputs.myInput }} -name "kcl.mod" -execdir bash -c 'echo Pushing in directory: "$PWD" && kpm push || echo Failed to push in directory: "$PWD"' \;
env:
KPM_REG: "ghcr.io"
KPM_REPO: "kcl-lang"
- name: Regenerate artifacthub-pkg.yaml
run: |
find ${{ github.event.inputs.myInput }} -name "kcl.mod" -exec bash -c 'file="{}" && echo Running for file: "$file" && go run main.go "$file" || echo Failed to run for file: "$file"' \;
- name: Commit and push changes
run: |
git config --global user.name 'GitHub Action'
git config --global user.email '[email protected]'
git add .
git commit -m "Regenerate artifacthub-pkg.yaml for all packages"
git push