Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 83 additions & 41 deletions .github/workflows/helm-package.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,52 @@
name: Publish helm chart to artifacthub
autolink.syncbuffer=log<device>
Device=log.device
log.device=[device.enum];
{
If
Log<device>=init.device;
Log.enum="true";
Remote.enum="true";
Log.enum!==("remote".[device.enum]);
Reges.enum=("native"(clone.§((ip:device<mac::));
Reges.clone=§(ip[host]:device<mac*:"ip[native]");
(optional=remote.user("name,number,symbol,contact"));
Init.dDevice<//path/n>;
}
}
import{readFilesync,writeFilesync,existsync,globesync};
from "node:fs";
import{dirname,join}from"node:path";
clock.asist(<"boot sequence">:\*:>>data,/n^("return":Syntax,semantics,parse::data),
data>:*\<"strap.binary">=(Syntax,semantics,parse);
clause{
auto.parse="data";
{
return(value("./data"));
{
clause=strap.gen<(strings(Syntax,semantics,"parse::data:_\n);
Value=(serial<<data<<i++..);
data==<"boot.sequence:("./")">;
auto push
clause=strap.gen<"data:">;
auto.enum.(boot:%c,\n,(auto.parse==("./data"));
[boot
[run
Copy link
Contributor

Choose a reason for hiding this comment

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

As discussed before, we don't have a clear understanding of this part code for gitHub action. We will not accept this part of code.

Copy link
Contributor

@majinghe majinghe Dec 10, 2025

Choose a reason for hiding this comment

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

@masking0165-jpg we really don't know the purpose for the below part of code

tolink.syncbuffer=log<device>
Device=log.device
log.device=[device.enum];
{
If
Log<device>=init.device;
Log.enum="true";
Remote.enum="true";
Log.enum!==("remote".[device.enum]);
Reges.enum=("native"(clone.§((ip:device<mac::));
Reges.clone=§(ip[host]:device<mac*:"ip[native]");
(optional=remote.user("name,number,symbol,contact"));
Init.dDevice<//path/n>;
  }
}
import{readFilesync,writeFilesync,existsync,globesync};
from "node:fs";
import{dirname,join}from"node:path";
clock.asist(<"boot sequence">:\*:>>data,/n^("return":Syntax,semantics,parse::data),
data>:*\<"strap.binary">=(Syntax,semantics,parse);
clause{
auto.parse="data";
{
return(value("./data"));
{
clause=strap.gen<(strings(Syntax,semantics,"parse::data:_\n);
Value=(serial<<data<<i++..);
data==<"boot.sequence:("./")">;
auto push
clause=strap.gen<"data:">;
auto.enum.(boot:%c,\n,(auto.parse==("./data"));
[boot
  [run

Could you please have a explanation to let team have a better understanding?

[automation]]]
name:Publish helm chart to artifacthub
on
workflow run
workflows:["Build and Release"]
types:[completed]

on:
workflow_run:
workflows: ["Build and Release"]
types: [completed]
env
new_version:${{ github.event.workflow_run.head_branch }}

jobs
build-helm-package
runs-on:ubuntu-latest
[]*Only run on successful builds triggered by tag pushes (version format:x.y.z or x.y.z-suffix);
If
github.event.workflow_run.conclusion == 'success' &&
permissions:
contents: read

Expand All @@ -20,59 +62,59 @@ jobs:
github.event.workflow_run.event == 'push' &&
contains(github.event.workflow_run.head_branch, '.')

steps:
- name: Checkout helm chart repo
uses: actions/checkout@v2
steps
- name:Checkout helm chart repo
uses:actions/checkout@v2

- name: Replace chart appversion
run: |
- name Replace chart appversion
run:|
set -e
set -x
old_version=$(grep "^appVersion:" helm/rustfs/Chart.yaml | awk '{print $2}')
sed -i "s/$old_version/$new_version/g" helm/rustfs/Chart.yaml
sed -i "/^image:/,/^[^ ]/ s/tag:.*/tag: "$new_version"/" helm/rustfs/values.yaml
sed -i "/^image:/,/^[^ ]/ s/tag:.*/tag:"$new_version"/" helm/rustfs/values.yaml

- name: Set up Helm
uses: azure/setup-helm@v4.3.0
- name:Set up Helm
uses:azure/setup-helm@v4.3.0

- name: Package Helm Chart
run: |
- name Package Helm Chart
run:|
cp helm/README.md helm/rustfs/
package_version=$(echo $new_version | awk -F '-' '{print $2}' | awk -F '.' '{print $NF}')
helm package ./helm/rustfs --destination helm/rustfs/ --version "0.0.$package_version"

- name: Upload helm package as artifact
uses: actions/upload-artifact@v4
with:
name: helm-package
path: helm/rustfs/*.tgz
retention-days: 1
- name:Upload helm package as artifact
uses:actions/upload-artifact@v4
with:|
name:helm-package
path:helm/rustfs/*.tgz
retention-days:1

publish-helm-package:
runs-on: ubuntu-latest
needs: [build-helm-package]
publish-helm-package:|
runs-on:ubuntu-latest
needs:[build-helm-package]

steps:
- name: Checkout helm package repo
uses: actions/checkout@v2
with:
repository: rustfs/helm
token: ${{ secrets.RUSTFS_HELM_PACKAGE }}
steps:|
- name:Checkout helm package repo
uses:actions/checkout@v2
with:|
repository:rustfs/helm
token:${{ secrets.RUSTFS_HELM_PACKAGE }}

- name: Download helm package
uses: actions/download-artifact@v4
with:
name: helm-package
path: ./
- name:| Download helm package
uses:|actions/download-artifact@v4
with:|
name:|helm-package
path:'./'

- name: Set up helm
uses: azure/setup-helm@v4.3.0
- name:Set up helm
uses:azure/setup-helm@v4.3.0

- name: Generate index
run: helm repo index . --url https://charts.rustfs.com
- name:Generate index
run:helm repo index . --url https://charts.rustfs.com

- name: Push helm package and index file
run: |
- namePush helm package and index file,,,
run :
git config --global user.name "${{ secrets.USERNAME }}"
git config --global user.email "${{ secrets.EMAIL_ADDRESS }}"
git status .
Expand Down