Skip to content

Commit

Permalink
fix: create release
Browse files Browse the repository at this point in the history
  • Loading branch information
tuxity committed Mar 21, 2024
1 parent 89e99da commit 752ace6
Showing 1 changed file with 11 additions and 14 deletions.
25 changes: 11 additions & 14 deletions .github/workflows/server-ci-enterprise.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,13 @@ jobs:
script: |
const fs = require('fs');
const path = require('path');
const { TAG_NAME, RELEASE_NAME, BODY, ASSETS } = process.env;
const assets = ASSETS.split(',');
let releaseId = null;
let releaseExists = false;
let uploadUrl = '';
try {
const createReleaseResponse = await github.rest.repos.createRelease({
const response = await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: TAG_NAME,
Expand All @@ -95,36 +93,35 @@ jobs:
prerelease: false,
});
console.log(`Release created: ${createReleaseResponse.data.html_url}`);
releaseId = createReleaseResponse.data.id;
console.log(`Release created: ${response.data.html_url}`);
uploadUrl = response.data.upload_url;
} catch (error) {
if (error.response && error.response.status === 422) {
core.warning(`Release already exists for tag ${TAG_NAME}.`);
releaseExists = true;
core.warning(`Release already exists for tag ${TAG_NAME}. Skipping release creation and asset uploads.`);
return;
} else {
core.setFailed(`Error creating release: ${error.message}`);
return;
}
}
// Check if we should proceed to upload assets
if (releaseId || releaseExists) {
if (uploadUrl) {
for (const asset of assets) {
const assetPath = path.join(process.env.GITHUB_WORKSPACE, asset.trim());
const contentType = asset.endsWith('.zip') ? 'application/zip' : 'application/gzip';
console.log(`Uploading asset: ${asset}`);
try {
const uploadAssetResponse = await github.rest.repos.uploadReleaseAsset({
url: createReleaseResponse.data.upload_url,
const uploadResponse = await github.rest.repos.uploadReleaseAsset({
url: uploadUrl,
headers: {
'content-type': contentType,
'content-length': fs.statSync(assetPath).size
},
name: asset,
name: asset.trim(),
data: fs.readFileSync(assetPath),
});
console.log(`Asset uploaded: ${uploadAssetResponse.data.browser_download_url}`);
console.log(`Asset uploaded: ${uploadResponse.data.browser_download_url}`);
} catch (uploadError) {
core.error(`Error uploading asset: ${asset}, ${uploadError.message}`);
}
Expand Down

0 comments on commit 752ace6

Please sign in to comment.