|
1 | | -# Development Guide |
| 1 | +# Utvecklingsguide |
2 | 2 |
|
3 | | -This guide outlines core essentials for developing in this project. |
| 3 | +Denna guide beskriver de viktigaste grunderna för utveckling i detta projekt. |
4 | 4 |
|
5 | | -## Table of Contents |
6 | | -- [Setup and Configuration](#setup-and-configuration) |
7 | | - - [IDE Setup](#ide-setup) |
8 | | -- [Development Workflow](#development-workflow) |
9 | | - - [Testing and Verification](#testing-format-and-lint) |
10 | | -- [Release Process](#the-release-workflow) |
11 | | - - [CI Release](#ci-release-process) |
12 | | - - [Local Release](#local-release-process) |
13 | | - - [Troubleshooting](#troubleshooting) |
| 5 | +## Innehållsförteckning |
| 6 | +- [Installation och konfiguration](#installation-och-konfiguration) |
| 7 | + - [IDE-inställningar](#ide-inställningar) |
| 8 | +- [Utvecklingsflöde](#utvecklingsflöde) |
| 9 | + - [Testning och verifiering](#testning-och-verifiering) |
| 10 | +- [Releaseprocess](#releaseprocess) |
| 11 | + - [CI-release](#ci-release) |
| 12 | + - [Lokal release](#lokal-release) |
| 13 | + - [Felsökning](#felsökning) |
14 | 14 |
|
15 | | -## Setup and Configuration |
| 15 | +## Installation och konfiguration |
16 | 16 |
|
17 | | -### IDE Setup |
| 17 | +### IDE-inställningar |
18 | 18 |
|
19 | 19 | #### VSCode |
20 | 20 |
|
21 | 21 |
|
22 | 22 |
|
23 | | -## Development Workflow |
| 23 | +## Utvecklingsflöde |
24 | 24 |
|
25 | | -### Pull Request Workflow |
| 25 | +### Pull Request-flöde |
26 | 26 |
|
27 | | -When submitting a PR, CI will automatically run several checks. To avoid surprises, run these checks locally first. |
| 27 | +När du skickar in en PR kommer CI automatiskt att köra flera kontroller. För att undvika överraskningar bör du köra dessa kontroller lokalt först. |
28 | 28 |
|
29 | | -#### Prerequisites |
| 29 | +#### Förutsättningar |
30 | 30 | - [Podman](https://podman.io/) |
31 | 31 |
|
32 | | -#### Running Code Quality Checks Locally |
| 32 | +#### Köra kvalitetskontroller lokalt |
33 | 33 |
|
34 | | -1. Run the quality check script: |
| 34 | +1. Kör kvalitetskontrollscriptet: |
35 | 35 | ```shell |
36 | 36 | ./development/code_quality.sh |
37 | 37 | ``` |
38 | | -2. Fix any identified issues |
39 | | -3. Update your PR with fixes |
40 | | -4. Verify CI passes in the updated PR |
| 38 | +2. Åtgärda eventuella problem |
| 39 | +3. Uppdatera din PR med fixarna |
| 40 | +4. Verifiera att CI passerar i den uppdaterade PR:en |
41 | 41 |
|
42 | | -#### Quality Check Details |
| 42 | +#### Detaljer för kvalitetskontroller |
43 | 43 |
|
44 | | -- **Linting with megalinter**: BASH, Markdown, YAML, Typescript, GitHub Actions, security scanning |
45 | | -- **License Compliance**: REUSE tool ensures proper copyright information |
46 | | -- **Commit Structure**: Conform checks commit messages for changelog generation |
47 | | -- **Dependency Analysis**: Scans for vulnerabilities, outdated packages, and license issues |
48 | | -- **OpenSSF Scorecard**: Validates security best practices |
| 44 | +- **Lintning med megalinter**: BASH, Markdown, YAML, Typescript, GitHub Actions, säkerhetsskanning |
| 45 | +- **Licensöverensstämmelse**: REUSE-verktyget säkerställer korrekt copyright-information |
| 46 | +- **Commit-struktur**: Conform kontrollerar commit-meddelanden för changelog-generering |
| 47 | +- **Beroendeanalys**: Skannar efter sårbarheter, utdaterade paket och licensproblem |
| 48 | +- **OpenSSF Scorecard**: Validerar säkerhetsbästa praxis |
49 | 49 |
|
50 | | -#### Handling Failed Checks |
| 50 | +#### Hantering av misslyckade kontroller |
51 | 51 |
|
52 | | -If any checks fail in the CI pipeline: |
| 52 | +Om några kontroller misslyckas i CI-pipelinen: |
53 | 53 |
|
54 | | -1. Review the CI error logs |
55 | | -2. Run checks locally to reproduce the issues |
56 | | -3. Make necessary fixes in your local environment |
57 | | -4. Update your Pull Request |
58 | | -5. Verify all checks pass in the updated PR |
| 54 | +1. Granska CI-fel-loggarna |
| 55 | +2. Kör kontrollerna lokalt för att återskapa problemen |
| 56 | +3. Gör nödvändiga fixar i din lokala miljö |
| 57 | +4. Uppdatera din Pull Request |
| 58 | +5. Verifiera att alla kontroller passerar i den uppdaterade PR:en |
59 | 59 |
|
60 | | -## The Release Workflow |
| 60 | +## Releaseprocess |
| 61 | +Det finns ett arbetsflöde för att publicera images och paket antingen som en pre-release-version eller som en stabil release. |
61 | 62 |
|
| 63 | +### Pre-release |
| 64 | +Annotera pre-release-taggen med suffix och en version, använd suffix: |
| 65 | +- alpha → tidig testversion, ofta instabil |
| 66 | +- beta → mer testad, men fortfarande pre-release |
| 67 | +- rc → nära färdigställande, stabil release candidate |
| 68 | + |
| 69 | +X kan ersättas med vilken siffersekvens som helst bestående av 0–9. |
| 70 | + |
| 71 | +***Säkerställ att tagg-versionen matchar versionen i package.json och package-lock.json.*** |
| 72 | + |
| 73 | +``` |
| 74 | +git checkout <branch> |
| 75 | +git pull |
| 76 | +git tag -s -a vX.X.X-SUFFIX.x -m "vX.X.X-SUFFIX.X" |
| 77 | +git push origin vX.X.X-SUFFIX.X |
| 78 | +``` |
| 79 | + |
| 80 | +Exempel: |
| 81 | + |
| 82 | +``` |
| 83 | +git tag -s -a v1.0.3-alpha.1 -m "v1.0.3-alpha.1" |
| 84 | +git push origin v1.0.3-alpha.1 |
| 85 | +``` |
| 86 | + |
| 87 | +### Stabil release |
| 88 | +Checka ut main, hämta senaste ändringarna och tagga senaste commit på main. |
| 89 | + |
| 90 | +***Säkerställ att tagg-versionen matchar versionen i package.json och package-lock.json.*** |
| 91 | + |
| 92 | +Checkout main, pull the latest changes and tag the latest main commit. |
| 93 | + |
| 94 | +``` |
| 95 | +git checkout <branch> |
| 96 | +git pull |
| 97 | +git tag -s -a vX.X.X -m "vX.X.X" |
| 98 | +git push origin vX.X.X |
| 99 | +``` |
| 100 | + |
| 101 | +Exempel: |
| 102 | +``` |
| 103 | +git tag -s -a v1.0.0 -m "v1.0.0" |
| 104 | +git push origin v1.0.0 |
| 105 | +``` |
| 106 | + |
| 107 | +***På grund av projektbegränsningar är pre- och stabila releaser från main endast möjliga för admins!*** |
| 108 | + |
| 109 | +### Släpp stabil version på GitHub |
| 110 | +1. Öppna [releases](https://github.com/diggsweden/rest-api-profil-lint-processor/releases) på GitHub. |
| 111 | +2. "Draft a new release" |
| 112 | +3. Välj vilken tagg som ska släppas |
| 113 | +4. Lägg till en release-titel – vX.X.X |
| 114 | +5. Lägg till en beskrivning eller generera release notes och rensa bort onödiga commits från beskrivningen |
| 115 | +6. Markera som senaste release |
| 116 | +7. Publicera releasen |
| 117 | + |
| 118 | +### Testa och verifiera release |
| 119 | +Efter varje release, pre- eller stabil, bör funktionaliteten testas och verifieras. |
| 120 | + |
| 121 | +Detta kan göras via stickprov av följande funktioner: |
| 122 | + |
| 123 | +#### Test av image |
| 124 | +Kör följande kommandon med den version av verktyget du vill testa – [använd podman/docker](../README.md#användning-via-podmandocker) |
| 125 | + |
| 126 | +### Test av npm-paket |
62 | 127 | ... |
0 commit comments