stages: - build - bundle variables: VERSION: 0.0.21 build-go: image: golang:1.16.2 stage: build only: - master script: - go build -o goscrobble cmd/go-scrobble/*.go artifacts: expire_in: 1 day paths: - goscrobble - migrations - init - .env.example build-react: image: node:15.12.0 stage: build only: - master script: - cd web - npm install - npm run build --env production artifacts: expire_in: 1 day paths: - web/build bundle: image: bash:latest stage: bundle only: - master variables: GIT_STRATEGY: none before_script: - apk add --no-cache zip tar script: - zip -r goscrobble.${VERSION}.zip web/build goscrobble migrations init .env.example - tar -czf goscrobble.${VERSION}.tar.gz web/build goscrobble migrations init .env.example artifacts: expire_in: 1 week paths: - goscrobble.${VERSION}.zip - goscrobble.${VERSION}.tar.gz