Package and publish the chart
.github/workflows/packaging.yml (opens in new tab)Triggers
pull_request_target workflow_dispatch
Jobs
| Job | Runs on | Steps | Actions used |
|---|---|---|---|
| Package and push from PR | ubuntu-latest | 2 | actions/checkout@v4 cloudve/helm-ci@master |
| Package and push manual invocation | ubuntu-latest | 2 | actions/checkout@v4 cloudve/helm-ci@master |
| Create a tag and GitHub release for this version. | ubuntu-latest | 2 | actions/checkout@v4 |
Raw YAML
name: Package and publish the chart
on:
pull_request_target:
types: [closed]
workflow_dispatch:
inputs:
manual-package-invocation:
description: 'Package (y/n)?'
required: true
default: 'y'
version-bump:
description: 'Version bump: major, minor, patch'
required: true
branch-name:
description: 'Branch name to package'
required: true
jobs:
package-from-pr:
if: github.event.pull_request.merged == true
name: Package and push from PR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: cloudve/helm-ci@master
with:
chart-name: galaxy-deps
charts-repo: cloudve/helm-charts
github-token: ${{ secrets.CHARTS_TOKEN }}
charts-token: ${{ secrets.CHARTS_TOKEN }}
github-labels: ${{ join(github.event.pull_request.labels.*.name, ', ') }}
git-branch: "master"
package-from-manual:
if: github.event.inputs.manual-package-invocation == 'y'
name: Package and push manual invocation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: cloudve/helm-ci@master
with:
chart-name: galaxy-deps
charts-repo: cloudve/helm-charts
github-token: ${{ secrets.CHARTS_TOKEN }}
charts-token: ${{ secrets.CHARTS_TOKEN }}
github-labels: ${{ github.event.inputs.version-bump }}
git-branch: ${{ github.event.inputs.branch-name }}
tag-and-release:
needs: [ package-from-pr, package-from-manual ]
name: Create a tag and GitHub release for this version.
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ github.token }}
if: |
always()
&& contains(needs.*.result, 'success')
&& !contains(needs.*.result, 'failure')
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Tag and release
run: |
git config user.name "GitHub Actions Bot"
git config user.email "<>"
version=v$(cat galaxy/Chart.yaml | grep ^version: | awk '{print $2}')
git tag -a $version -m "Automatic release of $version"
git push origin $version
gh release create $version --generate-notes --latest
Last fetched:
Linting and deployment test on K3S
.github/workflows/test.yaml (opens in new tab)Triggers
push pull_request workflow_dispatch
Jobs
| Job | Runs on | Steps | Actions used |
|---|---|---|---|
| linting | ubuntu-latest | 5 | actions/checkout@v3 |
| test | ubuntu-latest | 9 | actions/checkout@v3 jupyterhub/action-k3s-helm@v3 |
Raw YAML
name: Linting and deployment test on K3S
on:
push:
branches:
- master
- anvil
pull_request: {}
workflow_dispatch: {}
jobs:
linting:
runs-on: ubuntu-latest
steps:
- name: Install Kubectl
run: curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl && kubectl version || true
- name: Install Helm
run: curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- uses: actions/checkout@v3
with:
persist-credentials: false
- name: Helm dep update for galaxy-deps
run: cd galaxy-deps/ && helm dep update && cd ..
- name: Helm linting for galaxy-deps
run: helm lint galaxy-deps/
test:
runs-on: ubuntu-latest
steps:
- name: Install Helm
run: curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- uses: actions/checkout@v3
with:
persist-credentials: false
- name: Helm dep update for galaxy-deps
run: cd galaxy-deps/ && helm dep update && cd ..
- name: Start k8s locally
uses: jupyterhub/action-k3s-helm@v3
with:
k3s-version: v1.30.4+k3s1 # releases: https://github.com/k3s-io/k3s/tags
metrics-enabled: false
traefik-enabled: false
- name: Verify function of k8s, kubectl, and helm
run: |
echo "kubeconfig: $KUBECONFIG"
kubectl version
kubectl get pods --all-namespaces
helm version
helm list
- name: Helm repo add galaxy
run: helm repo add galaxy https://github.com/CloudVE/helm-charts/raw/master
- name: Helm install galaxy-deps
run: time bash -c 'helm install --create-namespace --wait -n "galaxy-deps" "galaxy-deps" ./galaxy-deps --set cvmfs.cvmfscsi.cache.alien.enabled=false --wait --timeout=1200s'
- name: Get events
run: kubectl get events -n galaxy; kubectl get events -n csi-drivers;
if: always()
- name: Get pods, pvc, and pv
run: kubectl get pods --all-namespaces; kubectl get pvc --all-namespaces; kubectl get pv --all-namespaces
if: always()
Last fetched: