Skip to content

Commit

Permalink
Update release.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
chiefMarlin authored Sep 27, 2024
1 parent 4ae3ea0 commit 6bcd818
Showing 1 changed file with 85 additions and 22 deletions.
107 changes: 85 additions & 22 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,64 @@ jobs:
build_and_release:
runs-on: ubuntu-latest
steps:
# ... (previous steps remain the same)
- name: Checkout the repository
uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 'stable'

- name: Install dependencies
run: go mod download

- name: Build binaries
run: |
mkdir -p ${{ env.BUILD_DIR }}
PLATFORMS=(
"darwin/arm64"
"darwin/amd64"
"linux/arm64"
"linux/amd64"
"windows/amd64"
"windows/arm64"
"freebsd/386"
"freebsd/amd64"
"freebsd/arm"
"freebsd/arm64"
"openbsd/386"
"openbsd/amd64"
"openbsd/arm"
"openbsd/arm64"
"dragonfly/amd64"
"netbsd/386"
"netbsd/amd64"
"netbsd/arm"
"netbsd/arm64"
)
for PLATFORM in "${PLATFORMS[@]}"; do
GOOS=${PLATFORM%/*}
GOARCH=${PLATFORM#*/}
OUTPUT_NAME=${{ env.BINARY_PREFIX }}.$GOOS.$GOARCH
if [ "$GOOS" = "windows" ]; then
OUTPUT_NAME=$OUTPUT_NAME.exe
fi
echo "Building for $GOOS/$GOARCH..."
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 }}
done
- name: Check build directory
run: |
echo "Contents of ${{ env.BUILD_DIR }}:"
ls -la ${{ env.BUILD_DIR }}
- name: Delete existing release
uses: dev-drprasad/delete-tag-and-release@v0.2.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG }}
delete_release: true

- name: Create Release
id: create_release
Expand Down Expand Up @@ -64,29 +121,35 @@ jobs:
const uploadUrl = '${{ steps.create_release.outputs.result }}';
const buildDir = '${{ env.BUILD_DIR }}';
const files = await fs.readdir(buildDir);
for (const file of files) {
const filePath = path.join(buildDir, file);
const stat = await fs.stat(filePath);
if (stat.isFile()) {
console.log(`Uploading ${file}...`);
const fileContent = await fs.readFile(filePath);
try {
const response = await github.rest.repos.uploadReleaseAsset({
url: uploadUrl,
headers: {
'content-type': 'application/octet-stream',
'content-length': fileContent.length,
},
name: file,
data: fileContent,
});
console.log(`Successfully uploaded ${file}`);
} catch (error) {
console.error(`Failed to upload ${file}: ${error.message}`);
throw error;
try {
const files = await fs.readdir(buildDir);
console.log(`Found ${files.length} files in ${buildDir}`);
for (const file of files) {
const filePath = path.join(buildDir, file);
const stat = await fs.stat(filePath);
if (stat.isFile()) {
console.log(`Uploading ${file}...`);
const fileContent = await fs.readFile(filePath);
try {
const response = await github.rest.repos.uploadReleaseAsset({
url: uploadUrl,
headers: {
'content-type': 'application/octet-stream',
'content-length': fileContent.length,
},
name: file,
data: fileContent,
});
console.log(`Successfully uploaded ${file}`);
} catch (error) {
console.error(`Failed to upload ${file}: ${error.message}`);
}
}
}
} catch (error) {
console.error(`Error accessing ${buildDir}: ${error.message}`);
throw error;
}
- name: Check release status
Expand Down

0 comments on commit 6bcd818

Please sign in to comment.