ci: testing upload build script

This commit is contained in:
Chubby Granny Chaser 2024-12-09 23:12:10 +00:00
parent 09cf207ecc
commit 2c93312df0
No known key found for this signature in database
2 changed files with 56 additions and 49 deletions

View File

@ -30,57 +30,58 @@ jobs:
S3_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }} S3_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }}
S3_BUILDS_BUCKET_NAME: ${{ secrets.S3_BUILDS_BUCKET_NAME }} S3_BUILDS_BUCKET_NAME: ${{ secrets.S3_BUILDS_BUCKET_NAME }}
BUILD_WEBHOOK_URL: ${{ secrets.BUILD_WEBHOOK_URL }} BUILD_WEBHOOK_URL: ${{ secrets.BUILD_WEBHOOK_URL }}
GITHUB_ACTOR: ${{ github.actor }}
run: node scripts/upload-build.cjs run: node scripts/upload-build.cjs
- name: Install Python # - name: Install Python
uses: actions/setup-python@v5 # uses: actions/setup-python@v5
with: # with:
python-version: 3.9 # python-version: 3.9
- name: Install dependencies # - name: Install dependencies
run: pip install -r requirements.txt # run: pip install -r requirements.txt
- name: Build with cx_Freeze # - name: Build with cx_Freeze
run: python torrent-client/setup.py build # run: python torrent-client/setup.py build
- name: Build Linux # - name: Build Linux
if: matrix.os == 'ubuntu-latest' # if: matrix.os == 'ubuntu-latest'
run: | # run: |
sudo apt-get update # sudo apt-get update
sudo apt-get install -y libarchive-tools # sudo apt-get install -y libarchive-tools
yarn build:linux # yarn build:linux
env: # env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }} # MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }} # MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }} # MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }}
MAIN_VITE_ANALYTICS_API_URL: ${{ vars.MAIN_VITE_ANALYTICS_API_URL }} # MAIN_VITE_ANALYTICS_API_URL: ${{ vars.MAIN_VITE_ANALYTICS_API_URL }}
RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }} # RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.RENDERER_VITE_EXTERNAL_RESOURCES_URL }} # RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.RENDERER_VITE_EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build Windows # - name: Build Windows
if: matrix.os == 'windows-latest' # if: matrix.os == 'windows-latest'
run: yarn build:win # run: yarn build:win
env: # env:
MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }} # MAIN_VITE_API_URL: ${{ vars.MAIN_VITE_STAGING_API_URL }}
MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }} # MAIN_VITE_AUTH_URL: ${{ vars.MAIN_VITE_STAGING_AUTH_URL }}
MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }} # MAIN_VITE_CHECKOUT_URL: ${{ vars.MAIN_VITE_STAGING_CHECKOUT_URL }}
MAIN_VITE_ANALYTICS_API_URL: ${{ vars.MAIN_VITE_ANALYTICS_API_URL }} # MAIN_VITE_ANALYTICS_API_URL: ${{ vars.MAIN_VITE_ANALYTICS_API_URL }}
RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }} # RENDERER_VITE_INTERCOM_APP_ID: ${{ vars.RENDERER_VITE_INTERCOM_APP_ID }}
RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.RENDERER_VITE_EXTERNAL_RESOURCES_URL }} # RENDERER_VITE_EXTERNAL_RESOURCES_URL: ${{ vars.RENDERER_VITE_EXTERNAL_RESOURCES_URL }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create artifact # - name: Create artifact
uses: actions/upload-artifact@v4 # uses: actions/upload-artifact@v4
with: # with:
name: Build-${{ matrix.os }} # name: Build-${{ matrix.os }}
path: | # path: |
dist/*-portable.exe # dist/*-portable.exe
dist/*.zip # dist/*.zip
dist/*.dmg # dist/*.dmg
dist/*.deb # dist/*.deb
dist/*.rpm # dist/*.rpm
dist/*.tar.gz # dist/*.tar.gz
dist/*.yml # dist/*.yml
dist/*.blockmap # dist/*.blockmap
dist/*.pacman # dist/*.pacman

View File

@ -3,6 +3,11 @@ const { S3Client, PutObjectCommand } = require("@aws-sdk/client-s3");
const path = require("node:path"); const path = require("node:path");
const packageJson = require("../package.json"); const packageJson = require("../package.json");
if (!process.env.BUILD_WEBHOOK_URL) {
console.log("No BUILD_WEBHOOK_URL provided, skipping upload");
process.exit(0);
}
const s3 = new S3Client({ const s3 = new S3Client({
region: "auto", region: "auto",
endpoint: process.env.S3_ENDPOINT, endpoint: process.env.S3_ENDPOINT,
@ -20,7 +25,7 @@ const extensionsToUpload = [".deb", ".exe", ".png"];
fs.readdir(dist, async (err, files) => { fs.readdir(dist, async (err, files) => {
if (err) throw err; if (err) throw err;
const results = await Promise.all( const uploads = await Promise.all(
files.map(async (file) => { files.map(async (file) => {
if (extensionsToUpload.includes(path.extname(file))) { if (extensionsToUpload.includes(path.extname(file))) {
const fileName = `${new Date().getTime()}-${file}`; const fileName = `${new Date().getTime()}-${file}`;
@ -47,9 +52,10 @@ fs.readdir(dist, async (err, files) => {
"Content-Type": "application/json", "Content-Type": "application/json",
}, },
body: JSON.stringify({ body: JSON.stringify({
results, uploads,
branchName: process.env.BRANCH_NAME, branchName: process.env.BRANCH_NAME,
version: packageJson.version, version: packageJson.version,
actor: process.env.GITHUB_ACTOR,
}), }),
}); });
}); });