Skip to content

Commit

Permalink
add release checklist (#215)
Browse files Browse the repository at this point in the history
Add release checklist
  • Loading branch information
pomali authored Aug 1, 2023
1 parent dc6c4eb commit 46554e0
Show file tree
Hide file tree
Showing 7 changed files with 365 additions and 10 deletions.
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/release-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Release checklist
about: Použi tento checklist na testovanie artefaktov pred public releaseom
title: "Release "
labels: release
assignees: "@slovensko-digital/autogram-release-team"
---

## Windows

- [ ] funguje inštalácia na Windows cez stiahnutý .msi
- [ ] funguje spustenie v GUI móde
- [ ] funguje URL handler [autogram://go](autogram://go)
- [ ] funguje GUI otvoriť jeden súbor, ten sa zobrazí, viem ho podpísať, vytvorí sa podpísaný súbor
- [ ] funguje CLI `autogram --help`

## Linux
- [ ] funguje inštalácia na Linux (Debian-based) cez stiahnutý .deb
- [ ] funguje inštalácia na Linux cez stiahnutý .rpm
- [ ] funguje spustenie v GUI móde
- [ ] funguje URL handler [autogram://go](autogram://go)
- [ ] funguje GUI otvoriť jeden súbor, ten sa zobrazí, viem ho podpísať, vytvorí sa podpísaný súbor
- [ ] funguje CLI `autogram --help`

## MacOS
- [ ] funguje inštalácia na MacOS cez stiahnutý .pkg
- [ ] funguje spustenie v GUI móde
- [ ] funguje URL handler [autogram://go](autogram://go)
- [ ] funguje GUI otvoriť jeden súbor, ten sa zobrazí, viem ho podpísať, vytvorí sa podpísaný súbor
- [ ] funguje CLI `/Applications/Autogram.app/Contents/MacOS/AutogramApp --help`


## Na aspoň jednom systéme

- [ ] fungujú všetky smoke testy `./mvnw test -Psmoke`
- [ ] funguje spustenie v GUI serverovom móde `autogram --url=autogram://listen?protocol=http&port=37201` na inom porte
- [ ] funguje CLI `autogram --cli --source source.pdf`
- [ ] funguje CLI `autogram --cli --source source.pdf --target target.pdf`
- [ ] funguje CLI `autogram --cli --source source-dir --target target-dir`
- [ ] funguje API info request
- [ ] funguje API docs request
- [ ] funguje API sign request
- [ ] funguje s [extension](https://github.com/slovensko-digital/autogram-extension)
22 changes: 22 additions & 0 deletions .github/workflows/prerelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Pre-release
on:
release:
types: [prereleased]
jobs:
checklist:
runs-on: ubuntu-latest
steps:
- uses: imjohnbo/extract-issue-template-fields@f5232d9bc6ad9aff26c462e60a2c8ef0b17aa3fa
id: issueTemplate
with:
path: .github/ISSUE_TEMPLATE/release-checklist.md

- name: Create release checklist issue
uses: imjohnbo/issue-bot@3d96848fb5e9a4a473bb81ae62b4b4866a56e93a
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
assignees: ${{ steps.issueTemplate.outputs.assignees }}
labels: ${{ steps.issueTemplate.outputs.labels }}
title: ${{ steps.issueTemplate.outputs.title }} ${{ github.event.release.tag_name }}
body: ${{ steps.issueTemplate.outputs.body }}
33 changes: 33 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Release robí slovensko.digital, ale checklist je verejný aby mohol každý contributor samostatne
pretestovať zmeny pred tým než urobí PR.

# Release Checklist

## Kontrola nového kódu

Je potrebné skontrolovať či nepribudol škodlivý kód, exfiltrácia secrets cez GH actions, či je nová core funkcionalita pokrytá testami.

## Testing

- [ ] zelené všetky automatizované testy
- [ ] funguje inštalácia na Windows cez stiahnutý .msi
- [ ] funguje inštalácia na MacOS cez stiahnutý .pkg
- [ ] funguje inštalácia na Linux (Debian-based) cez stiahnutý .deb
- [ ] funguje inštalácia na Linux cez stiahnutý .rpm
- [ ] funguje spustenie v GUI móde
- [ ] funguje spustenie v GUI serverovom móde `autogram --url=autogram://listen?protocol=http&port=37200`
- [ ] funguje URL handler na Windows [autogram://go](autogram://go)
- [ ] funguje URL handler na MacOS [autogram://go](autogram://go)
- [ ] funguje URL handler na Linux [autogram://go](autogram://go)
- [ ] funguje GUI otvoriť jeden súbor, ten sa zobrazí, viem ho podpísať, vytvorí sa podpísaný súbor
- [ ] funguje CLI `autogram --cli --source source.pdf`
- [ ] funguje CLI `autogram --cli --source source.pdf --target target.pdf`
- [ ] funguje CLI `autogram --cli --source source-dir --target target-dir`
- [ ] funguje API info request
- [ ] funguje API docs request
- [ ] funguje API sign request
- [ ] funguje s [extension](https://github.com/slovensko-digital/autogram-extension)

## Pripraviť popis releasu

vid. existujúce [Releases](https://github.com/slovensko-digital/autogram/releases)
49 changes: 45 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
<mockito.version>5.4.0</mockito.version>
<commons-cli.version>1.5.0</commons-cli.version>
<xmlunit.version>2.9.1</xmlunit.version>
<snakeyml.version>2.0</snakeyml.version>
<jimfs.version>1.3.0</jimfs.version>
<testExcludedGroups>HttpSmokeTest</testExcludedGroups>
</properties>

<dependencyManagement>
Expand Down Expand Up @@ -133,6 +135,26 @@
<version>${xmlunit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyml.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.google.jimfs</groupId>
<artifactId>jimfs</artifactId>
Expand All @@ -150,10 +172,9 @@
<version>3.1.2</version>
<configuration>
<jvm>${jlink.jdk.path}${file.separator}bin${file.separator}java</jvm>

<excludes>
<exclude>**/BatchSigningHttpSmokeTests.java</exclude>
</excludes>
<!-- done this way because you can't override excludedGroups in a profile
https://issues.apache.org/jira/browse/SUREFIRE-1645 -->
<excludedGroups>${testExcludedGroups}</excludedGroups>
</configuration>
</plugin>
</plugins>
Expand Down Expand Up @@ -519,5 +540,25 @@
<github.auth>Bearer ${env.GITHUB_TOKEN}</github.auth>
</properties>
</profile>

<profile>
<id>smoke</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<jvm>${jlink.jdk.path}${file.separator}bin${file.separator}java</jvm>
<groups>HttpSmokeTest</groups>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<testExcludedGroups></testExcludedGroups>
</properties>
</profile>
</profiles>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ public enum VisualizationWidthEnum {
private final VisualizationWidthEnum visualizationWidth;

public ServerSigningParameters(SignatureLevel level, ASiCContainerType container,
String containerFilename, String containerXmlns, SignaturePackaging packaging,
DigestAlgorithm digestAlgorithm,
Boolean en319132, LocalCanonicalizationMethod infoCanonicalization,
LocalCanonicalizationMethod propertiesCanonicalization, LocalCanonicalizationMethod keyInfoCanonicalization,
String schema, String transformation,
String Identifier, boolean checkPDFACompliance, VisualizationWidthEnum preferredPreviewWidth) {
String containerFilename, String containerXmlns, SignaturePackaging packaging,
DigestAlgorithm digestAlgorithm,
Boolean en319132, LocalCanonicalizationMethod infoCanonicalization,
LocalCanonicalizationMethod propertiesCanonicalization, LocalCanonicalizationMethod keyInfoCanonicalization,
String schema, String transformation,
String Identifier, boolean checkPDFACompliance, VisualizationWidthEnum preferredPreviewWidth) {
this.level = level;
this.container = container;
this.containerXmlns = containerXmlns;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,15 @@
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Tag;

import com.google.gson.Gson;

import digital.slovensko.autogram.server.dto.BatchStartResponseBody;

import static org.junit.jupiter.api.Assertions.assertEquals;

@Tag("HttpSmokeTest")
public class BatchSigningHttpSmokeTests {
@Test
void testBatchSigningHappyScenario() throws URISyntaxException, ClientProtocolException, IOException {
Expand Down
Loading

0 comments on commit 46554e0

Please sign in to comment.