Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
64d8db8
Add github-workflows, rename go module
gaby Sep 15, 2024
e15a0a6
Delete .github/workflows/issues.yml
gaby Sep 15, 2024
9ea6d85
Replace deprecated function
gaby Sep 15, 2024
a3bbfab
Merge pull request #1 from gofiber/update
gaby Sep 15, 2024
e2790a4
decoder: add benchmark cases
efectn Sep 30, 2024
a381689
use full match instead of strings.HasPrefix
efectn Sep 30, 2024
c05f267
Bump codecov/codecov-action from 4.5.0 to 4.6.0
dependabot[bot] Oct 1, 2024
9764af9
add release.yml
Oct 9, 2024
dde0765
Merge pull request #3 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Oct 9, 2024
7f57140
Bump benchmark-action/github-action-benchmark from 1.20.3 to 1.20.4
dependabot[bot] Oct 23, 2024
8ed48ec
Update decoder_test.go
gaby Oct 27, 2024
949b35e
Merge pull request #4 from gofiber/dependabot/github_actions/benchmar…
gaby Oct 27, 2024
05ca115
Bump codecov/codecov-action from 4.6.0 to 5.0.3
dependabot[bot] Nov 19, 2024
50a5ebd
Merge pull request #7 from gofiber/dependabot/github_actions/codecov/…
gaby Nov 20, 2024
986d316
Bump codecov/codecov-action from 5.0.3 to 5.0.6
dependabot[bot] Nov 20, 2024
5bae529
Merge pull request #8 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Nov 21, 2024
5a84715
Bump codecov/codecov-action from 5.0.6 to 5.0.7
dependabot[bot] Nov 21, 2024
05a8aa1
Merge pull request #9 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Nov 21, 2024
d33f7fe
Update LICENSE
ReneWerner87 Nov 29, 2024
376125c
Revert "Update LICENSE"
Nov 29, 2024
4b4f50c
Bump codecov/codecov-action from 5.0.7 to 5.1.1
dependabot[bot] Dec 5, 2024
6ea0d44
Merge pull request #10 from gofiber/dependabot/github_actions/codecov…
gaby Dec 17, 2024
8ef9628
Bump codecov/codecov-action from 5.1.1 to 5.1.2
dependabot[bot] Dec 18, 2024
326db53
Merge pull request #11 from gofiber/dependabot/github_actions/codecov…
gaby Dec 19, 2024
b35069a
Add more tests and benchmarks
gaby Jan 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @gofiber/maintainers
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
labels:
- "🤖 Dependencies"
26 changes: 26 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# .github/release.yml

changelog:
categories:
- title: '❗ Breaking Changes'
labels:
- '❗ BreakingChange'
- title: '🚀 New Features'
labels:
- '✏️ Feature'
- '📝 Proposal'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- title: '🐛 Bug Fixes'
labels:
- '☢️ Bug'
- title: '🛠️ Maintenance'
labels:
- '🤖 Dependencies'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
- title: 'Other Changes'
labels:
- '*'
111 changes: 111 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"

permissions:
# deployments permission to deploy GitHub pages website
deployments: write
# contents permission to update benchmark contents in gh-pages branch
contents: write
# allow posting comments to pull request
pull-requests: write

name: Benchmark
jobs:
Compare:
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # to be able to retrieve the last commit in main

- name: Install Go
uses: actions/setup-go@v5
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.22.x"

- name: Run Benchmark
run: set -o pipefail; go test ./... -benchmem -run=^$ -bench . | tee output.txt

# NOTE: Benchmarks could change with different CPU types
- name: Get GitHub Runner System Information
uses: kenchan0130/actions-system-info@v1.3.0
id: system-info

- name: Get Main branch SHA
id: get-main-branch-sha
run: |
SHA=$(git rev-parse origin/main)
echo "sha=$SHA" >> $GITHUB_OUTPUT

- name: Get Benchmark Results from main branch
id: cache
uses: actions/cache/restore@v4
with:
path: ./cache
key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-${{ steps.system-info.outputs.cpu-model }}-benchmark

# This will only run if we have Benchmark Results from main branch
- name: Compare PR Benchmark Results with main branch
uses: benchmark-action/github-action-benchmark@v1.20.4
if: steps.cache.outputs.cache-hit == 'true'
with:
tool: 'go'
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
# Do not save the data (This allows comparing benchmarks)
save-data-file: false
fail-on-alert: true
# Comment on the PR if the branch is not a fork
comment-on-alert: ${{ github.event.pull_request.head.repo.fork == false }}
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
alert-threshold: "150%"

- name: Store Benchmark Results for main branch
uses: benchmark-action/github-action-benchmark@v1.20.4
if: ${{ github.ref_name == 'main' }}
with:
tool: 'go'
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
# Save the data to external file (cache)
save-data-file: true
fail-on-alert: false
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
alert-threshold: "150%"

- name: Publish Benchmark Results to GitHub Pages
uses: benchmark-action/github-action-benchmark@v1.20.4
if: ${{ github.ref_name == 'main' }}
with:
tool: 'go'
output-file-path: output.txt
benchmark-data-dir-path: "benchmarks"
fail-on-alert: false
github-token: ${{ secrets.GITHUB_TOKEN }}
comment-on-alert: true
summary-always: true
# Save the data to external file (GitHub Pages)
save-data-file: true
alert-threshold: "150%"
# TODO: reactivate it later -> when v3 is the stable one
#auto-push: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
auto-push: false

- name: Update Benchmark Results cache
uses: actions/cache/save@v4
if: ${{ github.ref_name == 'main' }}
with:
path: ./cache
key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-${{ steps.system-info.outputs.cpu-model }}-benchmark
21 changes: 0 additions & 21 deletions .github/workflows/issues.yml

This file was deleted.

40 changes: 40 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Adapted from https://github.com/golangci/golangci-lint-action/blob/b56f6f529003f1c81d4d759be6bd5f10bf9a0fa0/README.md#how-to-use

name: golangci-lint
on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"

permissions:
# Required: allow read access to the content for analysis.
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
pull-requests: read
# Optional: Allow write access to checks to allow the action to annotate code in the PR.
checks: write

jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.22.x"
cache: false

- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
# NOTE: Keep this in sync with the version from .golangci.yml
version: v1.62.2
37 changes: 0 additions & 37 deletions .github/workflows/security.yml

This file was deleted.

57 changes: 38 additions & 19 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,54 @@
name: Test

on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
branches:
- main
permissions:
contents: read
paths-ignore:
- "**/*.md"

jobs:
unit:
strategy:
matrix:
go: ['1.20','1.21']
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: true
runs-on: ${{ matrix.os }}
go-version: [1.22.x, 1.23.x]
platform: [ubuntu-latest, windows-latest, macos-latest, macos-13]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Fetch Repository
uses: actions/checkout@v4

- name: Setup Go ${{ matrix.go }}
uses: actions/setup-go@v4
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
cache: false
go-version: ${{ matrix.go-version }}

- name: Run Tests
run: go test -race -cover -coverprofile=coverage -covermode=atomic -v ./...
- name: Test
run: go run gotest.tools/gotestsum@latest -f testname -- ./... -race -count=1 -coverprofile=coverage.txt -covermode=atomic -shuffle=on

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
- name: Upload coverage reports to Codecov
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.go-version == '1.23.x' }}
uses: codecov/codecov-action@v5.1.2
with:
files: ./coverage
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
flags: unittests
slug: gofiber/schema

repeated:
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v4

- name: Install Go
uses: actions/setup-go@v5
with:
go-version: stable

- name: Test
run: go run gotest.tools/gotestsum@latest -f testname -- ./... -race -count=15 -shuffle=on
32 changes: 0 additions & 32 deletions .github/workflows/verify.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
coverage.coverprofile
vendor
Loading
Loading