From b5f97a31e4887f8ee91827f9cd7700046400a7be Mon Sep 17 00:00:00 2001 From: Joscha Maier Date: Sun, 22 Sep 2024 01:07:02 +0200 Subject: [PATCH 01/15] Old Repo --- gulpfile.js | 79 +++++++++++++++++++++++++++++++++++++++++++++ kids-on-brooms.zip | Bin 0 -> 27766 bytes readme.md | 4 ++- system.json | 6 ++-- 4 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 gulpfile.js create mode 100644 kids-on-brooms.zip diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..72f914b --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,79 @@ +const gulp = require('gulp'); +const prefix = require('gulp-autoprefixer'); +const sourcemaps = require('gulp-sourcemaps'); +const sass = require('gulp-sass')(require('sass')); +const zip = require('gulp-zip'); + +/* ----------------------------------------- */ +/* Compile Sass +/* ----------------------------------------- */ + +// Small error handler helper function. +function handleError(err) { + console.log(err.toString()); + this.emit('end'); +} + +const SYSTEM_SCSS = ["scss/**/*.scss"]; +function compileScss() { + // Configure options for sass output. For example, 'expanded' or 'nested' + let options = { + outputStyle: 'expanded' + }; + return gulp.src(SYSTEM_SCSS) + .pipe( + sass(options) + .on('error', handleError) + ) + .pipe(prefix({ + cascade: false + })) + .pipe(gulp.dest("./css")) +} +const css = gulp.series(compileScss); + +/* ----------------------------------------- */ +/* Watch Updates +/* ----------------------------------------- */ + +function watchUpdates() { + gulp.watch(SYSTEM_SCSS, css); +} + +/* ----------------------------------------- */ +/* Export Tasks +/* ----------------------------------------- */ + +exports.default = gulp.series( + compileScss, + watchUpdates +); +exports.build = gulp.series( + compileScss +); +exports.css = css; + +/* ----------------------------------------- */ +/* Zip Release +/* ----------------------------------------- */ + +function zipRelease() { + return gulp.src([ + './**/*', + '!./node_modules/**', + '!./.git/**', + '!./.gitignore', + '!./gulpfile.js', + '!./package-lock.json', + '!./package.json', + '!./scss/**/*', + '!./.github/**/*', + ], { base: '.' }) + .pipe(zip('kids-on-brooms.zip')) + .pipe(gulp.dest('.')); +} + +exports.build = gulp.series( + compileScss, + zipRelease +); diff --git a/kids-on-brooms.zip b/kids-on-brooms.zip new file mode 100644 index 0000000000000000000000000000000000000000..6a9fe923c7b8ce2602e47b00329df828699d8997 GIT binary patch literal 27766 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�mp&l*sC1=%y7 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 rm0)FgG8(R(=Z-{Je7nybfonM_Oyol Date: Sun, 22 Sep 2024 01:45:32 +0200 Subject: [PATCH 02/15] feat: ci/cd --- .gitignore | 10 ++++++ .gitlab-ci.yml | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ .npmignore | 10 ++++++ 3 files changed, 114 insertions(+) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .npmignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a54e24a --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# IDE +.idea/ +.vs/ + +# Node Modules +node_modules/ +module/foundry.js +foundry.js +foundry_07.js +package-lock.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..b213980 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,94 @@ +stages: + - compile + - release + +# Compile Job (runs on every commit) +compile: + stage: compile + image: node:14 + script: + - npm install --global gulp-cli + - npm install + - gulp compile + only: + - branches + +# Release Job (manually triggered with version) +release: + stage: release + image: node:14 + before_script: + - apt-get update && apt-get install -y curl jq + - npm install --global gulp-cli + - npm install + # Set up SSH agent and add private key for pushing to protected branch + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - ssh-keyscan gitlab.com >> ~/.ssh/known_hosts + script: + # Check if VERSION is provided + - if [ -z "$VERSION" ]; then echo "Error: VERSION variable is required." && exit 1; fi + + # Run Gulp release task (includes zipping) + - gulp release + + # Create a release on GitLab + - export RELEASE_RESPONSE=$(curl --request POST \ + --header "PRIVATE-TOKEN: $GITLAB_TOKEN" \ + --header "Content-Type: application/json" \ + --data '{ + "name": "Release v'$VERSION'", + "tag_name": "v'$VERSION'", + "description": "Release v'$VERSION'", + "ref": "master", + "assets": { + "links": [ + { + "name": "Download kids-on-brooms.zip", + "url": "https://gitlab.com/YOUR_NAMESPACE/YOUR_PROJECT/-/jobs/$CI_JOB_ID/artifacts/download" + } + ] + } + }' "https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/releases") + + # Get the release URL from the response + - export RELEASE_URL=$(echo $RELEASE_RESPONSE | jq -r '.assets.links[0].url') + + # Update the system.json file with the release URL + - sed -i "s|\"download\":.*|\"download\": \"$RELEASE_URL\",|" system.json + + # Commit the updated system.json and push it to master + - git config --global user.name "GitLab CI" + - git config --global user.email "ci@gitlab.com" + - git add system.json + - git commit -m "Update system.json with release URL" + - git push origin master + + # Publish the release to the Foundry API + - curl -X POST https://api.foundryvtt.com/_api/packages/release_version/ \ + -H "Authorization: $FOUNDRY_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "id": "Your-Package-ID", + "release": { + "version": "'$VERSION'", + "manifest": "https://gitlab.com/wintermyst/kids-on-brooms/-/raw/master/system.json", + "notes": "https://gitlab.com/wintermyst/kids-on-brooms/releases/tag/v'$VERSION'", + "compatibility": { + "minimum": "12.331", + "verified": "12.331", + "maximum": "" + } + } + }' + only: + - master + when: manual + allow_failure: false + artifacts: + paths: + - kids-on-brooms.zip + expire_in: never \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..198166d --- /dev/null +++ b/.npmignore @@ -0,0 +1,10 @@ +# IDE +.idea/ +.vs/ + +# Node Modules +node_modules/ +npm-debug.log + +# Foundry +*.lock \ No newline at end of file From 97c5360dabbe5437ec6fe44f584a6dc4559fbbbe Mon Sep 17 00:00:00 2001 From: WinterMyst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sat, 21 Sep 2024 23:48:59 +0000 Subject: [PATCH 03/15] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b213980..fc6ac70 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,13 +30,15 @@ release: - ssh-keyscan gitlab.com >> ~/.ssh/known_hosts script: # Check if VERSION is provided - - if [ -z "$VERSION" ]; then echo "Error: VERSION variable is required." && exit 1; fi + - | + if [ -z "$VERSION" ]; then echo "Error: VERSION variable is required." && exit 1; fi # Run Gulp release task (includes zipping) - gulp release # Create a release on GitLab - - export RELEASE_RESPONSE=$(curl --request POST \ + - | + export RELEASE_RESPONSE=$(curl --request POST \ --header "PRIVATE-TOKEN: $GITLAB_TOKEN" \ --header "Content-Type: application/json" \ --data '{ @@ -58,7 +60,8 @@ release: - export RELEASE_URL=$(echo $RELEASE_RESPONSE | jq -r '.assets.links[0].url') # Update the system.json file with the release URL - - sed -i "s|\"download\":.*|\"download\": \"$RELEASE_URL\",|" system.json + - | + sed -i "s|\"download\":.*|\"download\": \"$RELEASE_URL\",|" system.json # Commit the updated system.json and push it to master - git config --global user.name "GitLab CI" @@ -68,7 +71,8 @@ release: - git push origin master # Publish the release to the Foundry API - - curl -X POST https://api.foundryvtt.com/_api/packages/release_version/ \ + - | + curl -X POST https://api.foundryvtt.com/_api/packages/release_version/ \ -H "Authorization: $FOUNDRY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ From c2a56997b6e6b49a71534e857787f742e71da378 Mon Sep 17 00:00:00 2001 From: Winter_Myst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 01:54:53 +0200 Subject: [PATCH 04/15] fix: update gulpfile --- .gitlab-ci.yml | 21 ++++++++++++++++----- gulpfile.js | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b213980..a8360c9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,9 +5,16 @@ stages: # Compile Job (runs on every commit) compile: stage: compile - image: node:14 - script: + image: ubuntu:latest + before_script: + # Install Node.js v21.7.3 manually + - curl -fsSL https://deb.nodesource.com/setup_21.x | bash - + - apt-get install -y nodejs + - node -v # Verify the correct Node.js version + # Install Gulp globally - npm install --global gulp-cli + - gulp --version # Verify Gulp is installed + script: - npm install - gulp compile only: @@ -16,11 +23,15 @@ compile: # Release Job (manually triggered with version) release: stage: release - image: node:14 + image: ubuntu:latest # Or any other basic image before_script: - - apt-get update && apt-get install -y curl jq + # Install Node.js v21.7.3 manually + - curl -fsSL https://deb.nodesource.com/setup_21.x | bash - + - apt-get install -y nodejs + - node -v # Verify the correct Node.js version + # Install Gulp globally - npm install --global gulp-cli - - npm install + - gulp --version # Verify Gulp is installed # Set up SSH agent and add private key for pushing to protected branch - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) diff --git a/gulpfile.js b/gulpfile.js index 72f914b..9599a1e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -73,7 +73,7 @@ function zipRelease() { .pipe(gulp.dest('.')); } -exports.build = gulp.series( +exports.release = gulp.series( compileScss, zipRelease ); From ceee105072591cb6a1eaab3118532cd50b846e9c Mon Sep 17 00:00:00 2001 From: Winter_Myst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 02:01:01 +0200 Subject: [PATCH 05/15] chore: update depencies --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 11bd722..b6c66fa 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "browserslist": [ "last 5 versions" ], - "author": "Josiah Bradbury, Joscha Maier", + "author": "Joscha Maier", "license": "MIT", "private": true, "dependencies": { @@ -19,9 +19,10 @@ "gulp-autoprefixer": "^8", "gulp-sass": "^5", "gulp-sourcemaps": "^3", + "gulp-zip": "^5.0.1", "kids-on-brooms": "file:" }, "devDependencies": { - "sass": "^1.77.8" + "sass": "^1.79.1" } } From 4c038a5857a14e41626e0f58bc36690b2a14085e Mon Sep 17 00:00:00 2001 From: Winter_Myst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 02:04:28 +0200 Subject: [PATCH 06/15] chore: forgot to change name of export --- gulpfile.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gulpfile.js b/gulpfile.js index 9599a1e..a328c26 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -51,6 +51,9 @@ exports.default = gulp.series( exports.build = gulp.series( compileScss ); +exports.compile = gulp.series( + compileScss +); exports.css = css; /* ----------------------------------------- */ From b85efb57d1e44a7622817810ac500461f8f55801 Mon Sep 17 00:00:00 2001 From: Winter_Myst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 02:07:57 +0200 Subject: [PATCH 07/15] fix: npm sec concern --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b6c66fa..811ae5d 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "gulp": "^5", "gulp-autoprefixer": "^8", "gulp-sass": "^5", - "gulp-sourcemaps": "^3", + "gulp-sourcemaps": "^2.6.5", "gulp-zip": "^5.0.1", "kids-on-brooms": "file:" }, From 615834e7be9fcd82fc68692c6d8f294112151f99 Mon Sep 17 00:00:00 2001 From: Winter_Myst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 02:09:42 +0200 Subject: [PATCH 08/15] core: update to new sass compile function --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index a328c26..bb28c62 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -22,7 +22,7 @@ function compileScss() { }; return gulp.src(SYSTEM_SCSS) .pipe( - sass(options) + sass.compile(options) .on('error', handleError) ) .pipe(prefix({ From 5a748abc5ddea5d94ddbca453b6a8cd04c993e53 Mon Sep 17 00:00:00 2001 From: Winter_Myst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 02:26:56 +0200 Subject: [PATCH 09/15] sometimes it breaks --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index bb28c62..a328c26 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -22,7 +22,7 @@ function compileScss() { }; return gulp.src(SYSTEM_SCSS) .pipe( - sass.compile(options) + sass(options) .on('error', handleError) ) .pipe(prefix({ From 0dabdc9e89081949cc3f0202c8357289b9896bf2 Mon Sep 17 00:00:00 2001 From: WinterMyst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 15:45:39 +0200 Subject: [PATCH 10/15] chore:updated system.json --- system.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system.json b/system.json index c4f6678..ead9dcd 100644 --- a/system.json +++ b/system.json @@ -1,5 +1,5 @@ { - "id": "kids-on-brooms", + "id": "kidsonbrooms", "title": "Kids on Brooms System", "description": "The Kids on Brooms system for FoundryVTT! - Deprecated", "version": "0.0.1", @@ -18,7 +18,7 @@ "units": "ft" }, "primaryTokenAttribute": "system.adversityTokens", - "url": "https://github.com/josmaier/KidsOnBroomsFoundryVTT", + "url": "https://gitlab.com/wintermyst/kidsonbrooms", "manifest": "https://github.com/josmaier/KidsOnBroomsFoundryVTT/blob/1c09eda6c50756a87ffcbdf27c31b732c3420d7c/system.json", "download": "https://github.com/josmaier/KidsOnBroomsFoundryVTT/releases/download/0.0.1/kids-on-brooms.zip" } From f90e6899f3a370efb7ac5e57c02be9c75cae6ed0 Mon Sep 17 00:00:00 2001 From: WinterMyst Date: Sun, 22 Sep 2024 15:57:37 +0200 Subject: [PATCH 11/15] chore:updated CI --- .gitlab-ci.yml | 8 ++++---- gulpfile.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9663814..c2e9b3c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -62,7 +62,7 @@ release: "assets": { "links": [ { - "name": "Download kids-on-brooms.zip", + "name": "Download kidsonbrooms.zip", "url": "https://gitlab.com/YOUR_NAMESPACE/YOUR_PROJECT/-/jobs/$CI_JOB_ID/artifacts/download" } ] @@ -92,8 +92,8 @@ release: "id": "Your-Package-ID", "release": { "version": "'$VERSION'", - "manifest": "https://gitlab.com/wintermyst/kids-on-brooms/-/raw/master/system.json", - "notes": "https://gitlab.com/wintermyst/kids-on-brooms/releases/tag/v'$VERSION'", + "manifest": "https://gitlab.com/wintermyst/kids-nbrooms/-/raw/master/system.json", + "notes": "https://gitlab.com/wintermyst/kidsonbrooms/releases/tag/v'$VERSION'", "compatibility": { "minimum": "12.331", "verified": "12.331", @@ -107,5 +107,5 @@ release: allow_failure: false artifacts: paths: - - kids-on-brooms.zip + - kidsonbrooms.zip expire_in: never \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index a328c26..a31780f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -72,7 +72,7 @@ function zipRelease() { '!./scss/**/*', '!./.github/**/*', ], { base: '.' }) - .pipe(zip('kids-on-brooms.zip')) + .pipe(zip('kidsonbrooms.zip')) .pipe(gulp.dest('.')); } From 8c7eec7706615aa66b913e139420fcee6f86d88e Mon Sep 17 00:00:00 2001 From: WinterMyst Date: Sun, 22 Sep 2024 15:58:18 +0200 Subject: [PATCH 12/15] chore: updated CI/CD --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c2e9b3c..093d5a1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -101,8 +101,6 @@ release: } } }' - only: - - master when: manual allow_failure: false artifacts: From 8af2a3b50d189616531d6a6643f4607e9f129883 Mon Sep 17 00:00:00 2001 From: WinterMyst Date: Sun, 22 Sep 2024 16:05:15 +0200 Subject: [PATCH 13/15] fix: forgot to decode key --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 093d5a1..32f4638 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,10 +36,11 @@ release: - gulp --version # Verify Gulp is installed # Set up SSH agent and add private key for pushing to protected branch - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - echo "$SSH_PRIVATE_KEY_ENCODED" | base64 --decode > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - + - ssh-add ~/.ssh/id_rsa - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - ssh-keyscan gitlab.com >> ~/.ssh/known_hosts script: # Check if VERSION is provided From c69daf7d63c441bb90575feffe9fd20ecb04623f Mon Sep 17 00:00:00 2001 From: WinterMyst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 14:11:31 +0000 Subject: [PATCH 14/15] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 32f4638..41cdc88 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,6 +36,8 @@ release: - gulp --version # Verify Gulp is installed # Set up SSH agent and add private key for pushing to protected branch - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh - echo "$SSH_PRIVATE_KEY_ENCODED" | base64 --decode > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - eval $(ssh-agent -s) @@ -102,6 +104,7 @@ release: } } }' + only: master when: manual allow_failure: false artifacts: From 6bf4ece8cfda7fd0be52fa95d3cd768e3d0c4d3f Mon Sep 17 00:00:00 2001 From: WinterMyst <22961076-wintermyst@users.noreply.gitlab.com> Date: Sun, 22 Sep 2024 14:11:43 +0000 Subject: [PATCH 15/15] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41cdc88..a862d65 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,7 +104,8 @@ release: } } }' - only: master + only: + - master when: manual allow_failure: false artifacts: