Skip to content

Commit d4674bf

Browse files
authored
Update release.yml
1 parent 6bcd818 commit d4674bf

File tree

1 file changed

+27
-53
lines changed

1 file changed

+27
-53
lines changed

.github/workflows/release.yml

+27-53
Original file line numberDiff line numberDiff line change
@@ -22,56 +22,7 @@ jobs:
2222
build_and_release:
2323
runs-on: ubuntu-latest
2424
steps:
25-
- name: Checkout the repository
26-
uses: actions/checkout@v3
27-
28-
- name: Set up Go
29-
uses: actions/setup-go@v4
30-
with:
31-
go-version: 'stable'
32-
33-
- name: Install dependencies
34-
run: go mod download
35-
36-
- name: Build binaries
37-
run: |
38-
mkdir -p ${{ env.BUILD_DIR }}
39-
PLATFORMS=(
40-
"darwin/arm64"
41-
"darwin/amd64"
42-
"linux/arm64"
43-
"linux/amd64"
44-
"windows/amd64"
45-
"windows/arm64"
46-
"freebsd/386"
47-
"freebsd/amd64"
48-
"freebsd/arm"
49-
"freebsd/arm64"
50-
"openbsd/386"
51-
"openbsd/amd64"
52-
"openbsd/arm"
53-
"openbsd/arm64"
54-
"dragonfly/amd64"
55-
"netbsd/386"
56-
"netbsd/amd64"
57-
"netbsd/arm"
58-
"netbsd/arm64"
59-
)
60-
for PLATFORM in "${PLATFORMS[@]}"; do
61-
GOOS=${PLATFORM%/*}
62-
GOARCH=${PLATFORM#*/}
63-
OUTPUT_NAME=${{ env.BINARY_PREFIX }}.$GOOS.$GOARCH
64-
if [ "$GOOS" = "windows" ]; then
65-
OUTPUT_NAME=$OUTPUT_NAME.exe
66-
fi
67-
echo "Building for $GOOS/$GOARCH..."
68-
GOOS=$GOOS GOARCH=$GOARCH go build -ldflags "-X 'main.Version=$(date +'%Y-%m-%d_%H:%M:%S')'" -o "${{ env.BUILD_DIR }}/$OUTPUT_NAME" ${{ env.SOURCE_DIR }}
69-
done
70-
71-
- name: Check build directory
72-
run: |
73-
echo "Contents of ${{ env.BUILD_DIR }}:"
74-
ls -la ${{ env.BUILD_DIR }}
25+
# ... (previous steps remain the same)
7526

7627
- name: Delete existing release
7728
uses: dev-drprasad/[email protected]
@@ -88,9 +39,11 @@ jobs:
8839
github-token: ${{ secrets.GITHUB_TOKEN }}
8940
script: |
9041
const maxRetries = 3;
42+
let release;
9143
for (let i = 0; i < maxRetries; i++) {
9244
try {
93-
const release = await github.rest.repos.createRelease({
45+
console.log(`Attempting to create release (attempt ${i + 1})...`);
46+
release = await github.rest.repos.createRelease({
9447
owner: context.repo.owner,
9548
repo: context.repo.repo,
9649
tag_name: '${{ env.TAG }}',
@@ -99,16 +52,37 @@ jobs:
9952
draft: false,
10053
prerelease: false
10154
});
102-
console.log(`Release created: ${release.data.html_url}`);
103-
return release.data.upload_url;
55+
console.log(`Release created successfully: ${release.data.html_url}`);
56+
break;
10457
} catch (error) {
10558
console.error(`Attempt ${i + 1} failed: ${error.message}`);
10659
if (i === maxRetries - 1) throw error;
10760
await new Promise(r => setTimeout(r, 5000)); // Wait 5 seconds before retrying
10861
}
10962
}
63+
if (!release) {
64+
throw new Error('Failed to create release after multiple attempts');
65+
}
66+
return release.data.upload_url;
67+
68+
- name: Verify Release
69+
if: success()
70+
uses: actions/github-script@v6
71+
with:
72+
github-token: ${{ secrets.GITHUB_TOKEN }}
73+
script: |
74+
const release = await github.rest.repos.getRelease({
75+
owner: context.repo.owner,
76+
repo: context.repo.repo,
77+
release_id: '${{ env.TAG }}'
78+
});
79+
console.log(`Release verification - ID: ${release.data.id}, Name: ${release.data.name}, Tag: ${release.data.tag_name}`);
80+
if (!release.data.id) {
81+
throw new Error('Release was not created properly');
82+
}
11083
11184
- name: Upload Release Assets
85+
if: success()
11286
env:
11387
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
11488
uses: actions/github-script@v6

0 commit comments

Comments
 (0)