|
22 | 22 | build_and_release:
|
23 | 23 | runs-on: ubuntu-latest
|
24 | 24 | 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: Delete existing release |
72 |
| - uses: dev-drprasad/[email protected] |
73 |
| - env: |
74 |
| - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
75 |
| - with: |
76 |
| - tag_name: ${{ env.TAG }} |
77 |
| - delete_release: true |
| 25 | + # ... (previous steps remain the same) |
78 | 26 |
|
79 | 27 | - name: Create Release
|
80 | 28 | id: create_release
|
@@ -122,12 +70,22 @@ jobs:
|
122 | 70 | const stat = await fs.stat(filePath);
|
123 | 71 | if (stat.isFile()) {
|
124 | 72 | console.log(`Uploading ${file}...`);
|
125 |
| - await github.rest.repos.uploadReleaseAsset({ |
126 |
| - url: uploadUrl, |
127 |
| - headers: { 'content-type': 'application/octet-stream' }, |
128 |
| - name: file, |
129 |
| - data: await fs.readFile(filePath) |
130 |
| - }); |
| 73 | + const fileContent = await fs.readFile(filePath); |
| 74 | + try { |
| 75 | + const response = await github.rest.repos.uploadReleaseAsset({ |
| 76 | + url: uploadUrl, |
| 77 | + headers: { |
| 78 | + 'content-type': 'application/octet-stream', |
| 79 | + 'content-length': fileContent.length, |
| 80 | + }, |
| 81 | + name: file, |
| 82 | + data: fileContent, |
| 83 | + }); |
| 84 | + console.log(`Successfully uploaded ${file}`); |
| 85 | + } catch (error) { |
| 86 | + console.error(`Failed to upload ${file}: ${error.message}`); |
| 87 | + throw error; |
| 88 | + } |
131 | 89 | }
|
132 | 90 | }
|
133 | 91 |
|
|
0 commit comments