From 48ee87220887e2a517857e2d6c3c8083b42acc0e Mon Sep 17 00:00:00 2001 From: phil Date: Thu, 12 Dec 2024 14:45:35 +0100 Subject: [PATCH 01/15] Update README --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4649578..ede9083 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ -Front-end for *Tree Trail*, a fun and pedagogic tool to discover the trails and trees around. +# Treetrail web front-end -Home page (source, bugs, etc): . +Front-end for *Tree Trail*, a fun and pedagogic tool +to discover the trails and trees around. -The main documentation for Tree Trail is: . +Home page (source, bugs, etc): + . + +The main documentation for Tree Trail is: + . From af559b7faa332122d6f886fe5543ec83f492e3cb Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 00:44:42 +0200 Subject: [PATCH 02/15] Cleanup --- src/app/app.component.scss | 0 src/app/profile/profile.component.scss | 0 src/assets/.gitkeep | 0 src/assets/fonts/.gitignore | 0 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/app/app.component.scss delete mode 100644 src/app/profile/profile.component.scss delete mode 100644 src/assets/.gitkeep delete mode 100644 src/assets/fonts/.gitignore diff --git a/src/app/app.component.scss b/src/app/app.component.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/profile/profile.component.scss b/src/app/profile/profile.component.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/fonts/.gitignore b/src/assets/fonts/.gitignore deleted file mode 100644 index e69de29..0000000 From cd5093899f2522896bc4499a417bcac70d872e25 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 00:44:48 +0200 Subject: [PATCH 03/15] Cleanup --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b0a851..c9be825 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail", + "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test", From 4caf0cf44ff55ecd4210489f03871f5413d19e0f Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 00:47:43 +0200 Subject: [PATCH 04/15] CI: switch to Woodpecker --- .forgejo/workflows/build.yaml | 107 ---------------------------------- .woodpecker/build.yaml | 45 ++++++++++++++ package.json | 2 +- 3 files changed, 46 insertions(+), 108 deletions(-) delete mode 100644 .forgejo/workflows/build.yaml create mode 100644 .woodpecker/build.yaml diff --git a/.forgejo/workflows/build.yaml b/.forgejo/workflows/build.yaml deleted file mode 100644 index bb1d291..0000000 --- a/.forgejo/workflows/build.yaml +++ /dev/null @@ -1,107 +0,0 @@ -on: - push: - workflow_dispatch: - inputs: - build: - description: "Build container" - required: true - default: false - type: boolean - -jobs: - build: - runs-on: container - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Get the version from git - id: version - run: echo "version=$(git describe --dirty --tags)" >> $GITHUB_OUTPUT - - - name: Check if the container should be built - id: builder - env: - RUN: ${{ toJSON(inputs.build || !contains(steps.version.outputs.version, '-')) }} - run: | - echo "run=$RUN" >> $GITHUB_OUTPUT - echo "Run build: $RUN" - - - name: Info - version and if the image container should be built - env: - VERSION: ${{ steps.version.outputs.version }} - RUN: ${{ steps.builder.outputs.run }} - FORCE: ${{ toJSON(inputs.build) }} - run: | - echo "Version $VERSION, force (manual input): $FORCE, run the build: $RUN" - - - uses: pnpm/action-setup@v4 - name: Install pnpm - with: - run_install: false - - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: "pnpm" - - - name: Install dependencies - run: pnpm install - - - name: Update version.json from git describe - run: pnpm run version - - - name: Set the version in package.json - env: - VERSION: ${{ steps.version.outputs.version }} - run: sed "s/0.0.0/${VERSION}/" -i package.json - - - name: Build package (transpile ts => js) - run: ng build - - - name: Set registry token for pnpm" - env: - LOCAL_NPM_TOKEN: ${{ secrets.LOCAL_NPM_TOKEN }} - run: pnpm set "//code.philo.ydns.eu/api/packages/philorg/npm/:_authToken=${LOCAL_NPM_TOKEN}" - - - name: Publish - if: fromJSON(steps.builder.outputs.run) - run: pnpm publish --no-git-checks - - - name: Build container - if: fromJSON(steps.builder.outputs.run) - uses: actions/buildah-build@v1 - with: - image: treetrail-frontend - oci: true - labels: treetrail-frontend - tags: latest ${{ steps.version.outputs.version }} - containerfiles: | - ./Containerfile - build-args: | - APP_VERSION=${{ steps.version.outputs.version }} - - - name: Workaround for bug of podman-login - if: fromJSON(steps.builder.outputs.run) - run: | - mkdir -p $HOME/.docker - echo "{ \"auths\": {} }" > $HOME/.docker/config.json - - - name: Log in to container registry (with another workaround) - if: fromJSON(steps.builder.outputs.run) - uses: actions/podman-login@v1 - with: - registry: ${{ vars.REGISTRY }} - username: ${{ secrets.REGISTRY_USER }} - password: ${{ secrets.REGISTRY_PASSWORD }} - auth_file_path: /tmp/auth.json - - - name: Push the image to the registry - if: fromJSON(steps.builder.outputs.run) - uses: actions/push-to-registry@v2 - with: - registry: "docker://${{ vars.REGISTRY }}/${{ vars.ORGANISATION }}" - image: treetrail-frontend - tags: latest ${{ steps.version.outputs.version }} diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml new file mode 100644 index 0000000..bb78fa7 --- /dev/null +++ b/.woodpecker/build.yaml @@ -0,0 +1,45 @@ +when: + - event: manual + - event: tag + +#depends_on: + #- test + +steps: + npm: + image: code.philo.ydns.eu/philorg/pnpm + environment: + ORG: philorg + REGISTRY_TOKEN: + from_secret: registry_token + volumes: + - pnpm:/root/.local/share/pnpm + commands: + - pnpm install --frozen-lockfile + - pnpm set "//code.philo.ydns.eu/api/packages/$ORG/npm/:_authToken=$REGISTRY_TOKEN" + - pnpm publish --no-git-checks + failure: ignore + + build_publish: + image: quay.io/podman/stable:latest + # Caution: This image is built daily. It might fill up your image store quickly. + #pull: true + volumes: + - containers:/var/lib/containers + - pnpm:/root/.local/share/pnpm + # Fill in the trusted checkbox in Woodpecker's settings as well + privileged: true + environment: + registry: code.philo.ydns.eu + org: philorg + container_name: oidc-vue-test + registry_token: + from_secret: registry_token + commands: + # Login at the registry + - podman login -u __token__ --password $registry_token $registry + # Build the container image + - podman build --volume=/var/lib/containers:/var/lib/containers --tag $registry/$org/$container_name:latest --tag $registry/$org/$container_name:$CI_COMMIT_TAG . + # Push the image + - podman push $registry/$org/$container_name:latest + - podman push $registry/$org/$container_name:$CI_COMMIT_TAG diff --git a/package.json b/package.json index c9be825..471e24e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "treetrail-frontend", - "version": "0.0.0", + "version": "0.4.0", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", From 00767ac20b6d1a7d1f185fff4c3cfa612f2a5b15 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 00:47:59 +0200 Subject: [PATCH 05/15] 0.4.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f3d7457..0569d68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "treetrail", - "version": "0.0.3", + "version": "0.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "treetrail", - "version": "0.0.3", + "version": "0.4.1", "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", diff --git a/package.json b/package.json index 471e24e..c5050b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "treetrail-frontend", - "version": "0.4.0", + "version": "0.4.1", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", From 3874e84a6ebbee213e4b1fbfeca27bd6ab542338 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 00:49:54 +0200 Subject: [PATCH 06/15] Remove CI artifact for version --- package.json | 3 +-- src/version.json | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 src/version.json diff --git a/package.json b/package.json index c5050b5..529a564 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,7 @@ "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test", - "openapi-ts": "openapi-ts", - "version": "echo \"{\\\"version\\\":\\\"$(git describe --tags --dirty --always)\\\"}\" > src/version.json" + "openapi-ts": "openapi-ts" }, "dependencies": { "@angular/animations": "^18.2.6", diff --git a/src/version.json b/src/version.json deleted file mode 100644 index c158d5b..0000000 --- a/src/version.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "0.0.0" -} \ No newline at end of file From 780bf3b6c9d26d6d8daa5400c14f66f9c2e2aaf0 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 00:50:07 +0200 Subject: [PATCH 07/15] 0.4.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0569d68..7da953c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "treetrail", - "version": "0.4.1", + "version": "0.4.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "treetrail", - "version": "0.4.1", + "version": "0.4.2", "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", diff --git a/package.json b/package.json index 529a564..5eea59d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "treetrail-frontend", - "version": "0.4.1", + "version": "0.4.2", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", From fd9dc302cbf117aadffb7849865c8185aa894eac Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 02:40:57 +0200 Subject: [PATCH 08/15] Get version from package.json --- src/app/about/about.component.ts | 4 ++-- src/app/app.component.ts | 9 +++++---- src/app/profile/profile.component.ts | 1 - src/app/settings/settings.component.ts | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app/about/about.component.ts b/src/app/about/about.component.ts index 3d293a4..26596b4 100644 --- a/src/app/about/about.component.ts +++ b/src/app/about/about.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit } from '@angular/core' import { ConfigService } from '../config.service' -import versionJson from '../../version.json' +import packageJson from '../../../package.json' @Component({ selector: 'app-about', @@ -13,7 +13,7 @@ export class AboutComponent implements OnInit { public configService: ConfigService, ) { } - public version: string = versionJson.version + public version: string = packageJson.version ngOnInit(): void { } diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 52a84ae..70dc380 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,5 +1,7 @@ -import { Component, OnInit, - ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core' +import { + Component, OnInit, + ChangeDetectorRef, ChangeDetectionStrategy +} from '@angular/core' import { DataService } from './data.service' import { ActionService } from './action.service' @@ -10,7 +12,6 @@ import { combineLatest } from 'rxjs' @Component({ selector: 'app-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent implements OnInit { @@ -20,7 +21,7 @@ export class AppComponent implements OnInit { public actionService: ActionService, public appUpdateService: AppUpdateService, public cdr: ChangeDetectorRef, - ) {} + ) { } title = 'treetrail' ngOnInit(): void { diff --git a/src/app/profile/profile.component.ts b/src/app/profile/profile.component.ts index 16fa22f..c5b8ea6 100644 --- a/src/app/profile/profile.component.ts +++ b/src/app/profile/profile.component.ts @@ -3,7 +3,6 @@ import { Component } from '@angular/core'; @Component({ selector: 'app-profile', templateUrl: './profile.component.html', - styleUrls: ['./profile.component.scss'] }) export class ProfileComponent { diff --git a/src/app/settings/settings.component.ts b/src/app/settings/settings.component.ts index 44c1f14..9157906 100644 --- a/src/app/settings/settings.component.ts +++ b/src/app/settings/settings.component.ts @@ -3,7 +3,7 @@ import { Router } from '@angular/router' import { ActionService } from '../action.service' import { ConfigService, Config } from '../config.service' -import versionJson from '../../version.json' +import packageJson from '../../../package.json' @Component({ selector: 'app-settings', @@ -18,7 +18,7 @@ export class SettingsComponent implements OnInit { public router: Router, ) { } - public version: string = versionJson.version + public version: string = packageJson.version ngOnInit(): void { this.configService.conf.subscribe( From 674fd71de9916d2ac24f2b9084fcff6fdcb57a0a Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 02:41:27 +0200 Subject: [PATCH 09/15] CI: use pnpm-python builder --- .woodpecker/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index bb78fa7..b5c087b 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -7,7 +7,7 @@ when: steps: npm: - image: code.philo.ydns.eu/philorg/pnpm + image: code.philo.ydns.eu/philorg/pnpm-python environment: ORG: philorg REGISTRY_TOKEN: From f5828ae1e6d26069ea70ce7621700e8522fc39d6 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 02:41:52 +0200 Subject: [PATCH 10/15] 0.4.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7da953c..7c63733 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "treetrail", - "version": "0.4.2", + "version": "0.4.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "treetrail", - "version": "0.4.2", + "version": "0.4.3", "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", diff --git a/package.json b/package.json index 5eea59d..cc72d00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "treetrail-frontend", - "version": "0.4.2", + "version": "0.4.3", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", From b6c4cd280a684b1db593f633f15a9978ab29a095 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 02:47:04 +0200 Subject: [PATCH 11/15] CI: force pull builder --- .woodpecker/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index b5c087b..d2ce4a3 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -8,6 +8,7 @@ when: steps: npm: image: code.philo.ydns.eu/philorg/pnpm-python + pull: true environment: ORG: philorg REGISTRY_TOKEN: From 20bfd3116ef19f8f72a4e7d1fcd606c0642c2670 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 02:47:14 +0200 Subject: [PATCH 12/15] 0.4.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7c63733..7115ee1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "treetrail", - "version": "0.4.3", + "version": "0.4.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "treetrail", - "version": "0.4.3", + "version": "0.4.4", "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", diff --git a/package.json b/package.json index cc72d00..1c9d05c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "treetrail-frontend", - "version": "0.4.3", + "version": "0.4.4", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", From 14363c721b1d8cb2ece9a53ac808ae36292577ea Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 03:19:46 +0200 Subject: [PATCH 13/15] CI: use debian based builder --- .woodpecker/build.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index d2ce4a3..f6a4c09 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -7,8 +7,7 @@ when: steps: npm: - image: code.philo.ydns.eu/philorg/pnpm-python - pull: true + image: code.philo.ydns.eu/philorg/pnpm-deb environment: ORG: philorg REGISTRY_TOKEN: @@ -33,7 +32,7 @@ steps: environment: registry: code.philo.ydns.eu org: philorg - container_name: oidc-vue-test + container_name: treetrail-frontend registry_token: from_secret: registry_token commands: From 034d9d4c3717ef28a2fda8cbb752c3d801e4c434 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 03:19:56 +0200 Subject: [PATCH 14/15] 0.4.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7115ee1..91aa9a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "treetrail", - "version": "0.4.4", + "version": "0.4.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "treetrail", - "version": "0.4.4", + "version": "0.4.5", "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", diff --git a/package.json b/package.json index 1c9d05c..b408455 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "treetrail-frontend", - "version": "0.4.4", + "version": "0.4.5", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail --host 0.0.0.0", From 5c22207f0a0726014693acd4390c5a610ced6cf8 Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 28 Jun 2025 03:40:22 +0200 Subject: [PATCH 15/15] CI: build ts --- .woodpecker/build.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index f6a4c09..24c4254 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -20,6 +20,11 @@ steps: - pnpm publish --no-git-checks failure: ignore + build: + image: code.philo.ydns.eu/philorg/pnpm-deb + commands: + - pnpm build + build_publish: image: quay.io/podman/stable:latest # Caution: This image is built daily. It might fill up your image store quickly.