Skip to content

Commit bbd5c12

Browse files
committed
Use environment variable to define build folder name in "Release" workflows
Multiple commands in the release workflows include the path of the folder that contains the build output. Previously, the complex folder name was specified redundantly in each instance. The readability and maintainability of the workflow is improved by using an environment variable to define the folder name in a single place, then referencing that environment variable in each of the individual commands that use the path.
1 parent 56e0a14 commit bbd5c12

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

workflow-templates/publish-go-nightly-task.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ jobs:
9393
package-suffix: "macOS_ARM64.tar.gz"
9494

9595
steps:
96+
- name: Set environment variables
97+
run: |
98+
# See: https://docs.github.com/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#setting-an-environment-variable
99+
echo "BUILD_FOLDER=${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}" >> "$GITHUB_ENV"
100+
96101
- name: Checkout repository
97102
uses: actions/checkout@v4
98103

@@ -137,7 +142,7 @@ jobs:
137142
run: |
138143
cat > "${{ env.GON_CONFIG_PATH }}" <<EOF
139144
# See: https://github.com/Bearer/gon#configuration-file
140-
source = ["${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_osx_${{ matrix.build.package-suffix }}/${{ env.PROJECT_NAME }}"]
145+
source = ["${{ env.DIST_DIR }}/${{ env.BUILD_FOLDER }}/${{ env.PROJECT_NAME }}"]
141146
bundle_id = "cc.arduino.${{ env.PROJECT_NAME }}"
142147
143148
sign {
@@ -166,11 +171,11 @@ jobs:
166171
run: |
167172
# GitHub's upload/download-artifact actions don't preserve file permissions,
168173
# so we need to add execution permission back until the action is made to do this.
169-
chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"
174+
chmod +x "${{ env.BUILD_FOLDER }}/${{ env.PROJECT_NAME }}"
170175
# Use of an array here is required for globbing
171176
PACKAGE_FILENAME=(${{ env.PROJECT_NAME }}_nightly-*${{ matrix.build.package-suffix }})
172177
tar -czvf "$PACKAGE_FILENAME" \
173-
-C "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/" "${{ env.PROJECT_NAME }}" \
178+
-C "${{ env.BUILD_FOLDER }}/" "${{ env.PROJECT_NAME }}" \
174179
-C ../../ LICENSE.txt
175180
echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV
176181

workflow-templates/release-go-crosscompile-task.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ jobs:
9393
package-suffix: "macOS_ARM64.tar.gz"
9494

9595
steps:
96+
- name: Set environment variables
97+
run: |
98+
# See: https://docs.github.com/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#setting-an-environment-variable
99+
echo "BUILD_FOLDER=${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}" >> "$GITHUB_ENV"
100+
96101
- name: Checkout repository
97102
uses: actions/checkout@v4
98103

@@ -136,7 +141,7 @@ jobs:
136141
run: |
137142
cat > "${{ env.GON_CONFIG_PATH }}" <<EOF
138143
# See: https://github.com/Bearer/gon#configuration-file
139-
source = ["${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"]
144+
source = ["${{ env.DIST_DIR }}/${{ env.BUILD_FOLDER }}/${{ env.PROJECT_NAME }}"]
140145
bundle_id = "cc.arduino.${{ env.PROJECT_NAME }}"
141146
142147
sign {
@@ -165,11 +170,11 @@ jobs:
165170
run: |
166171
# GitHub's upload/download-artifact actions don't preserve file permissions,
167172
# so we need to add execution permission back until the action is made to do this.
168-
chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"
173+
chmod +x "${{ env.BUILD_FOLDER }}/${{ env.PROJECT_NAME }}"
169174
TAG="${GITHUB_REF/refs\/tags\//}"
170175
PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_${{ matrix.build.package-suffix }}"
171176
tar -czvf "$PACKAGE_FILENAME" \
172-
-C "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/" "${{ env.PROJECT_NAME }}" \
177+
-C "${{ env.BUILD_FOLDER }}/" "${{ env.PROJECT_NAME }}" \
173178
-C ../../ LICENSE.txt
174179
echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV
175180

workflow-templates/release-go-task.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ jobs:
9898
package-suffix: "macOS_ARM64.tar.gz"
9999

100100
steps:
101+
- name: Set environment variables
102+
run: |
103+
# See: https://docs.github.com/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#setting-an-environment-variable
104+
echo "BUILD_FOLDER=${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}" >> "$GITHUB_ENV"
105+
101106
- name: Checkout repository
102107
uses: actions/checkout@v4
103108

@@ -142,7 +147,7 @@ jobs:
142147
run: |
143148
cat > "${{ env.GON_CONFIG_PATH }}" <<EOF
144149
# See: https://github.com/Bearer/gon#configuration-file
145-
source = ["${{ env.DIST_DIR }}/${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"]
150+
source = ["${{ env.DIST_DIR }}/${{ env.BUILD_FOLDER }}/${{ env.PROJECT_NAME }}"]
146151
bundle_id = "cc.arduino.${{ env.PROJECT_NAME }}"
147152
148153
sign {
@@ -171,11 +176,11 @@ jobs:
171176
run: |
172177
# GitHub's upload/download-artifact actions don't preserve file permissions,
173178
# so we need to add execution permission back until the action is made to do this.
174-
chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/${{ env.PROJECT_NAME }}"
179+
chmod +x "${{ env.BUILD_FOLDER }}/${{ env.PROJECT_NAME }}"
175180
TAG="${GITHUB_REF/refs\/tags\//}"
176181
PACKAGE_FILENAME="${{ env.PROJECT_NAME }}_${TAG}_${{ matrix.build.package-suffix }}"
177182
tar -czvf "$PACKAGE_FILENAME" \
178-
-C "${{ env.PROJECT_NAME }}_osx_${{ matrix.build.folder-suffix }}/" "${{ env.PROJECT_NAME }}" \
183+
-C "${{ env.BUILD_FOLDER }}/" "${{ env.PROJECT_NAME }}" \
179184
-C ../../ LICENSE.txt
180185
echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV
181186

0 commit comments

Comments
 (0)