Skip to content

Commit

Permalink
Merge branch 'getfider-main'
Browse files Browse the repository at this point in the history
* getfider-main: (172 commits)
  fix: 404 errors on backups (getfider#1058)
  fix: unable to build multi-platform image
  chore: reduce docker buildtime
  chore: update to 0.21
  enhancement: configurable http server timeouts
  chore: add poweredby
  chore: use fider.io instead of getfider.com
  chore: update npm packages (getfider#1052)
  chore: set commit hash during build time
  fix: Healthcheck errors if Host Domain set (getfider#1048)
  fix: update crypto pkg
  chore: build on arm64 and amd64 (getfider#1040)
  chore: dump github context on publish
  enhancement: use overlay checkout integration (getfider#1039)
  i18n: add Polish translations (getfider#1037)
  fix: add two-step generate checkout link
  chore: update translations
  enhancement: change text and flip variable default
  enhancement: inline svg to support cdn
  enhancement: add tests for billing
  ...
  • Loading branch information
rkbhochalya committed Mar 11, 2022
2 parents d2b0e6b + 967ce0b commit 5a5923d
Show file tree
Hide file tree
Showing 772 changed files with 54,230 additions and 26,614 deletions.
4 changes: 4 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presets": ["@babel/env", "@babel/react", "@babel/preset-typescript"],
"plugins": ["@babel/plugin-proposal-class-properties", "macros"]
}
5 changes: 4 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,7 @@ tests
data
output
.git
cover.out
cover.out
scripts
.env
dist
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dist/
ssr.js
node_modules/
package-lock.json
31 changes: 31 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/* eslint-disable */

module.exports = {
root: true,
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaFeatures: { jsx: true },
},
settings: {
react: {
version: "detect",
},
},
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended",
"plugin:prettier/recommended",
],
rules: {
// Include .prettierrc.js rules
"prettier/prettier": ["error", {}, { usePrettierrc: true }],
"react/react-in-jsx-scope": "off",
"@typescript-eslint/no-unused-vars": ["error", { varsIgnorePattern: "_" }],
"react/prop-types": "off",
"react/jsx-no-target-blank": ["error", { allowReferrer: true }],
"@typescript-eslint/no-explicit-any": "off", // TODO: turn this on in future
"@typescript-eslint/explicit-module-boundary-types": "off", // TODO: turn this on in future
},
}
12 changes: 9 additions & 3 deletions .example.env
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
HOST_DOMAIN=localhost
GO_ENV=development
LOG_LEVEL=DEBUG
DATABASE_URL=postgres://fider:fider_pw@localhost:5555/fider?sslmode=disable
JWT_SECRET=hsjl]W;&ZcHxT&FK;s%bgIQF:#ch=~#Al4:5]N;7V<qPZ3e9lT4'%;go;LIkc%k

CDN_HOST=dev.assets-fider.io:3000
CDN_HOST=dev.fider.io:3000

LOG_LEVEL=DEBUG
LOG_CONSOLE=true
LOG_SQL=true
LOG_FILE=false
LOG_FILE_OUTPUT=logs/output.log

# MAINTENANCE=true
# MAINTENANCE_MESSAGE=Sorry, we're down for scheduled maintenance right now.
Expand All @@ -25,6 +31,6 @@ EMAIL_NOREPLY=noreply@yourdomain.com
#EMAIL_MAILGUN_REGION=US

EMAIL_SMTP_HOST=localhost
EMAIL_SMTP_PORT=1026
EMAIL_SMTP_PORT=1025
EMAIL_SMTP_USERNAME=
EMAIL_SMTP_PASSWORD=
5 changes: 0 additions & 5 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/another-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Another issue
about: Suggest refactoring or other technical improvements
title: ''
labels: ''
assignees: ''

---


30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Use this template to report a bug.
title: "[BUG] "
labels: 'type: bug'
assignees: ''

---

**Fider Cloud or Self Hosted**
If you're using Self Hosted FIder, specify the version here.

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Feature request
about: Use https://feedback.fider.io to suggest a feature.
title: ""
labels: ""
assignees: ""
---

Do not use this form for feature requests, please vote or post it on https://feedback.fider.io/
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
**Issue:** <!-- What's this PR for? Link it to a GitHub issue or create one before you submit this Pull Request. -->
**Issue:** <!-- What's this PR for? Link it to a GitHub issue or create one before you submit this Pull Request. -->

<!-- Briefly explain what is being changed with this Pull Request. -->
<!-- Briefly explain what is being changed with this Pull Request. -->
214 changes: 214 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
name: build

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
test-ui:
name: test-ui
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- run: npm ci
- run: make lint-ui
- run: make test-ui

test-server:
name: test-server
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [x86_64, arm64]
services:
minio:
image: getfider/minio:0.0.2
ports:
- 9000:9000
env:
MINIO_ACCESS_KEY: s3user
MINIO_SECRET_KEY: s3user-s3cr3t
postgres:
image: postgres:12
env:
POSTGRES_USER: fider_ci
POSTGRES_PASSWORD: fider_ci_pw
POSTGRES_DB: fider_ci
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

steps:
- uses: actions/checkout@v2
- name: Use Go 1.17
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- run: npm ci # required for esbuild
- name: install golangci-lint
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.44.0
- name: install godotenv
run: go install github.com/joho/godotenv/cmd/godotenv
- run: make lint-server
- name: make test-server
run: |
mkdir ./dist
make test-server
env:
BLOB_STORAGE_S3_ENDPOINT_URL: http://localhost:9000
DATABASE_URL: postgres://fider_ci:fider_ci_pw@localhost:5432/fider_ci?sslmode=disable

# The build job uses the Dockerfile to build an image which is then used by e2e tests
build:
name: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: extract variables
run: |
echo "##[set-output name=sha7;]$(echo ${GITHUB_SHA::7})"
echo sha7=${GITHUB_SHA::7}
id: vars

- run: docker build -t fider-image .

- run: mkdir -p ./out

- run: docker save -o ./out/fider-image.tar fider-image

- run: echo ${{ github.event.number }} > ./out/pr
if: ${{ github.event_name == 'pull_request' }}

- run: echo ${{ steps.vars.outputs.sha7 }} > ./out/sha7

- uses: actions/upload-artifact@v2
with:
name: fider-image
path: out/

test-e2e-ui:
name: test-e2e-ui
runs-on: ubuntu-latest
needs: [build]
services:
mailhog:
image: mailhog/mailhog:latest
ports:
- "8025:8025"
- "1025:1025"
postgres:
image: postgres:12
env:
POSTGRES_USER: fider_ci
POSTGRES_PASSWORD: fider_ci_pw
POSTGRES_DB: fider_ci
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
strategy:
matrix:
browser: ["chromium", "webkit", "firefox"]
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- uses: actions/download-artifact@v2
with:
name: fider-image
path: ./out
- run: docker load --input ./out/fider-image.tar
- run: |
docker run \
--pull never \
-p 3000:3000 \
--env DATABASE_URL=postgres://fider_ci:fider_ci_pw@postgres:5432/fider_ci?sslmode=disable \
--env JWT_SECRET=not_so_secret \
--env HOST_MODE=multi \
--env HOST_DOMAIN=dev.fider.io \
--env SSL_CERT=dev-fider-io.crt \
--env SSL_CERT_KEY=dev-fider-io.key \
--env EMAIL_NOREPLY=noreply@fider.io \
--env EMAIL_SMTP_HOST=mailhog \
--env EMAIL_SMTP_PORT=1025 \
-d --network "${{ job.container.network }}" \
-v "$PWD"/etc:/app/etc \
fider-image
- run: npm ci
- run: npx playwright install-deps $BROWSER
env:
BROWSER: ${{ matrix.browser }}
- run: make test-e2e-ui
env:
BROWSER: ${{ matrix.browser }}

test-e2e-server:
name: test-e2e-server
runs-on: ubuntu-latest
needs: [build]
services:
mailhog:
image: mailhog/mailhog:latest
ports:
- "8025:8025"
- "1025:1025"
postgres:
image: postgres:12
env:
POSTGRES_USER: fider_ci
POSTGRES_PASSWORD: fider_ci_pw
POSTGRES_DB: fider_ci
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- uses: actions/download-artifact@v2
with:
name: fider-image
path: ./out
- run: docker load --input ./out/fider-image.tar
- run: |
docker run \
--pull never \
-p 3000:3000 \
-p 4000:4000 \
--env DATABASE_URL=postgres://fider_ci:fider_ci_pw@postgres:5432/fider_ci?sslmode=disable \
--env JWT_SECRET=not_so_secret \
--env HOST_MODE=multi \
--env HOST_DOMAIN=dev.fider.io \
--env METRICS_ENABLED=true \
--env SSL_CERT=dev-fider-io.crt \
--env SSL_CERT_KEY=dev-fider-io.key \
--env EMAIL_NOREPLY=noreply@fider.io \
--env EMAIL_SMTP_HOST=mailhog \
--env EMAIL_SMTP_PORT=1025 \
-d --network "${{ job.container.network }}" \
-v "$PWD"/etc:/app/etc \
fider-image
- run: npm ci
- run: npx playwright install-deps chromium
env:
BROWSER: chromium
- run: make test-e2e-server
env:
BROWSER: chromium
Loading

0 comments on commit 5a5923d

Please sign in to comment.