diff --git a/.github/workflows/build_pkg.yml b/.github/workflows/build_pkg.yml index 1435e41..70e0eb1 100644 --- a/.github/workflows/build_pkg.yml +++ b/.github/workflows/build_pkg.yml @@ -38,6 +38,7 @@ jobs: - uses: actions/checkout@v4 with: repository: gardenlinux/package-build + ref: feature/5-remove-pkg-yml - run: mkdir input output - uses: actions/checkout@v4 with: @@ -87,12 +88,8 @@ jobs: - name: draft release and upload source packages id: release if: ${{ steps.check.outputs.skip_release != 'true' }} - env: - ARTIFACT_NAME: ${{ steps.build.outputs.pkg }} - ARTIFACT_COMMIT: ${{ github.sha }} run: | - ARTIFACT_TAG=${ARTIFACT_NAME/\~/\_} - release="$(./scripts/gh_release "${{ github.token }}" "${{ github.repository }}" create --draft "${ARTIFACT_TAG}" "${ARTIFACT_COMMIT}" "${ARTIFACT_NAME}")" + release="$(./scripts/gh_release "${{ github.token }}" "${{ github.repository }}" create --draft "${{ steps.build.outputs.pkg }}" "${{ github.sha }}" "${{ steps.build.outputs.pkg }}")" for f in output/*; do ./scripts/gh_release "${{ github.token }}" "${{ github.repository }}" upload "$release" "$f" done diff --git a/scripts/gh_release b/scripts/gh_release index eb0e863..a42f3c8 100755 --- a/scripts/gh_release +++ b/scripts/gh_release @@ -64,6 +64,8 @@ case "$action" in commit="$1"; shift name="$1"; shift + normalized_tag=${name/\~/\_} + release="$(post "releases" '{ "draft": '"$draft"', "tag_name": "'"$tag"'", @@ -78,16 +80,23 @@ case "$action" in release="$1"; shift asset_file="$1"; shift - asset_name="$(basename "$asset_file")" + normalized_asset_file=${asset_file/\~/\_} + + asset_name="$(basename "$normalized_asset_file")" upload "releases/$release/assets?name=$asset_name" < "$asset_file" > /dev/null - echo "uploaded $asset_file to $release" + echo "uploaded $asset_file to $release ($asset_name)" ;; "download") release="$1"; shift name="$1"; shift - asset_id="$(get "releases/$release/assets" | jq -r '.[] | select(.name == "'"$name"'") | .id')" + normalized_name=${name/\~/\_} + + echo $normalized_name + get "releases/$release/assets" + + asset_id="$(get "releases/$release/assets" | jq -r '.[] | select(.name == "'"$normalized_name"'") | .id')" get_binary "releases/assets/$asset_id" > "$name" ;;