build(docker): add multiarch build for ARM, ARM64 and AMD64 (#378)

* Update Docker workflow

add buildx and qemu to support mulitarch builds
configure arm, arm64 and amd64 builds

* Change yarn timeout

fixes issue with yarn install timing out

* chore: update gitignore

* chore: add gitignore for web dir

* chore(web): upgrade to yarn2

* build: update actions and push docker hub

* build: add yarnrc and network-timeout

* build: unifi workflow

* build: depend on web to build first

* build: store artifacts between jobs

* build: store artifacts between jobs

* build: store artifacts between jobs

* build: store artifacts between jobs

* build: adjust dockerignore

* build: conditional extract metadata

* build: conditional extract metadata

* build: always push docker hub

* build: skip docker hub for now

* build: fix metadata
This commit is contained in:
shapechecker 2022-08-03 13:38:32 -04:00 committed by GitHub
parent 98ae6da6ca
commit 22829b194f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 14564 additions and 9459 deletions

View file

@ -1,8 +1,9 @@
# build web
FROM node:16-alpine AS web-builder
FROM node:18.7.0-alpine3.16 AS web-builder
WORKDIR /web
COPY web/package.json web/yarn.lock ./
RUN yarn install
COPY web/package.json web/yarn.lock web/.yarnrc.yml ./
COPY web/.yarn/releases/ ./.yarn/releases/
RUN yarn install --network-timeout 120000
COPY web .
RUN yarn build
@ -27,8 +28,8 @@ COPY . ./
COPY --from=web-builder /web/build ./web/build
COPY --from=web-builder /web/build.go ./web
ENV GOOS=linux
ENV CGO_ENABLED=1
#ENV GOOS=linux
#ENV CGO_ENABLED=0
RUN go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${REVISION} -X main.date=${BUILDTIME}" -o bin/autobrr cmd/autobrr/main.go
RUN go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${REVISION} -X main.date=${BUILDTIME}" -o bin/autobrrctl cmd/autobrrctl/main.go