Skip to content
This repository has been archived by the owner on Jun 2, 2023. It is now read-only.

golangci/golangci-web

Repository files navigation

Build Status GolangCI

API

This repository contains code of web part of GolangCI.

Technologies

We use React, TypeScript, Redux. Antd is used as a UI framework.

Development

Prepare SSL certificate

You need to generate self-signed SSL certificate for local caddy (default self-signed caddy certificates aren't allowed by modern browsers):

mkdir -p ssl
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout ssl/golangci.key -out ssl/golangci.crt -extensions san -config <(echo "[req]"; echo distinguished_name=req; echo "[san]"; echo subjectAltName=DNS:dev.golangci.com,DNS:api.dev.golangci.com) -subj /CN=dev.golangci.com

After that add golangci.crt to the list of your OS trusted root CAs.

Run Caddy

Map domains to the localhost:

sudo sh -c 'echo 127.0.0.1 dev.golangci.com >>/etc/hosts'
sudo sh -c 'echo 127.0.0.1 api.dev.golangci.com >>/etc/hosts'

The following will run Caddy server in background:

brew install caddy
sudo npm run caddy

Run application server

npm run dev

It opens https://dev.golangci.com in a default browser.

How to lint code

npm run lint_fix

It will run tslint in auto-fix mode.

How to make test build

We deploy out code on Heroku. Heroku runs npm run heroku-postbuild to build code.

How to test SSR

npm run dev runs dev-server without server-side rendering, to enable it run like in production:

npm start

Contributing

See CONTRIBUTING.