Merge pull request #185 from ProtonMail/improve-ci

Improve golang CI
This commit is contained in:
wussler 2022-05-17 17:26:13 +02:00 committed by GitHub
commit 22acd6e231
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 29 deletions

View file

@ -7,32 +7,45 @@ on:
branches: [ main ]
jobs:
test:
name: Test
name: Test with latest golang
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v3
- name: Set up Go 1.x
uses: actions/setup-go@v2
- name: Set up latest golang
uses: actions/setup-go@v3
with:
go-version: ^1.18
- name: Test
run: go test -v -race ./...
test-old:
name: Test with 1.15
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v3
- name: Set up Go 1.15
uses: actions/setup-go@v3
with:
go-version: ^1.16
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Get dependencies
run: |
go get -v -t -d ./...
if [ -f Gopkg.toml ]; then
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
dep ensure
fi
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go-version: 1.15
- name: Test
run: go test -v -race ./...
- name: Lint
run: golangci-lint run ./...
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.17
- uses: actions/checkout@v3
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.46.2

View file

@ -44,4 +44,6 @@ linters:
- gomoddirectives # Prohibits the use of replace statements
- varnamelen # Forbids short var names
- ireturn # Prevents returning interfaces
- forcetypeassert # Forces to assert types in tests
- forcetypeassert # Forces to assert types in tests
- nonamedreturns # Disallows named returns
- exhaustruct # Forces all structs to be named

View file

@ -148,7 +148,7 @@ func (keyRing *KeyRing) NewManualAttachmentProcessor(
return attachmentProc, nil
}
// readAll works a bit like io.ReadAll
// readAll works a bit like ioutil.ReadAll
// but we can choose the buffer to write to
// and we don't grow the slice in case of overflow.
func readAll(buffer []byte, reader io.Reader) (int, error) {

View file

@ -3,6 +3,7 @@ package crypto
import (
"bytes"
"io"
"io/ioutil"
"reflect"
"testing"
@ -65,7 +66,7 @@ func TestKeyRing_EncryptDecryptStream(t *testing.T) {
if err == nil {
t.Fatal("Expected an error while verifying the signature before reading the data, got nil")
}
decryptedBytes, err := io.ReadAll(decryptedReader)
decryptedBytes, err := ioutil.ReadAll(decryptedReader)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}
@ -88,7 +89,7 @@ func TestKeyRing_EncryptDecryptStream(t *testing.T) {
if err != nil {
t.Fatal("Expected no error while calling decrypting stream with key ring, got:", err)
}
decryptedBytes, err = io.ReadAll(decryptedReaderNoVerify)
decryptedBytes, err = ioutil.ReadAll(decryptedReaderNoVerify)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}
@ -188,7 +189,7 @@ func TestKeyRing_DecryptStreamCompatible(t *testing.T) {
if err != nil {
t.Fatal("Expected no error while calling decrypting stream with key ring, got:", err)
}
decryptedBytes, err := io.ReadAll(decryptedReader)
decryptedBytes, err := ioutil.ReadAll(decryptedReader)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}
@ -257,7 +258,7 @@ func TestKeyRing_EncryptDecryptSplitStream(t *testing.T) {
if err != nil {
t.Fatal("Expected no error while decrypting split stream with key ring, got:", err)
}
decryptedBytes, err := io.ReadAll(decryptedReader)
decryptedBytes, err := ioutil.ReadAll(decryptedReader)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}
@ -379,7 +380,7 @@ func TestKeyRing_DecryptSplitStreamCompatible(t *testing.T) {
if err != nil {
t.Fatal("Expected no error while decrypting split stream with key ring, got:", err)
}
decryptedBytes, err := io.ReadAll(decryptedReader)
decryptedBytes, err := ioutil.ReadAll(decryptedReader)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}

View file

@ -3,6 +3,7 @@ package crypto
import (
"bytes"
"io"
"io/ioutil"
"reflect"
"testing"
@ -55,7 +56,7 @@ func TestSessionKey_EncryptDecryptStream(t *testing.T) {
if err != nil {
t.Fatal("Expected no error while calling DecryptStream, got:", err)
}
decryptedBytes, err := io.ReadAll(decryptedReader)
decryptedBytes, err := ioutil.ReadAll(decryptedReader)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}
@ -158,7 +159,7 @@ func TestSessionKey_DecryptStreamCompatible(t *testing.T) {
if err != nil {
t.Fatal("Expected no error while calling DecryptStream, got:", err)
}
decryptedBytes, err := io.ReadAll(decryptedReader)
decryptedBytes, err := ioutil.ReadAll(decryptedReader)
if err != nil {
t.Fatal("Expected no error while reading the decrypted data, got:", err)
}