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..24c4254 --- /dev/null +++ b/.woodpecker/build.yaml @@ -0,0 +1,50 @@ +when: + - event: manual + - event: tag + +#depends_on: + #- test + +steps: + npm: + image: code.philo.ydns.eu/philorg/pnpm-deb + 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: + 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. + #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: treetrail-frontend + 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/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: + . diff --git a/package-lock.json b/package-lock.json index f3d7457..91aa9a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "treetrail", - "version": "0.0.3", + "version": "0.4.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "treetrail", - "version": "0.0.3", + "version": "0.4.5", "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", diff --git a/package.json b/package.json index 6b0a851..b408455 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,13 @@ { "name": "treetrail-frontend", - "version": "0.0.0", + "version": "0.4.5", "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", - "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/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.scss b/src/app/app.component.scss deleted file mode 100644 index e69de29..0000000 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.scss b/src/app/profile/profile.component.scss deleted file mode 100644 index e69de29..0000000 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( 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 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