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

Update sbt to 1.9.6 (#214) #677

Update sbt to 1.9.6 (#214)

Update sbt to 1.9.6 (#214) #677

Workflow file for this run

---
name: Continuous Integration
on:
pull_request:
branches: ['**']
push:
branches: ['main']
jobs:
build:
name: Build
runs-on: ubuntu-latest
outputs:
version: ${{ steps.meta.outputs.version }}
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java (temurin@17)
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
cache: sbt
- name: Check that scalafmt has been run
run: sbt --client 'all scalafmtSbtCheck scalafmtCheckAll'
- name: Check that scalafix has been run
run: sbt --client 'scalafixAll --check'
- name: Check for undeclared dependencies
run: sbt --client undeclaredCompileDependenciesTest
- name: Check for unused dependencies
run: sbt --client unusedCompileDependenciesTest
- name: Run tests
run: sbt --client test
- name: Stage Docker context
run: sbt --client helios/Docker/stage
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/dhpiggott/helios
tags: |
type=sha
- name: Build and push
uses: docker/build-push-action@v5
with:
cache-from: type=gha
tags: ${{ steps.meta.outputs.tags }}
context: helios/target/docker/stage
push: true
platforms: linux/arm64
provenance: false
cache-to: type=gha,mode=max
deploy:
name: Deploy
needs: [build]
uses: ./.github/workflows/cd.yml
with:
environment: production
version: ${{ needs.build.outputs.version }}
secrets:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_KNOWN_HOSTS: ${{ secrets.SSH_KNOWN_HOSTS }}
HOST: ${{ secrets.HOST }}
SSH_USER: ${{ secrets.SSH_USER }}
BRIDGE_API_KEY: ${{ secrets.BRIDGE_API_KEY }}
BRIDGE_IP_ADDRESS: ${{ secrets.BRIDGE_IP_ADDRESS }}
HOME_LATITUDE: ${{ secrets.HOME_LATITUDE }}
HOME_LONGITUDE: ${{ secrets.HOME_LONGITUDE }}
WAKE_TIME: ${{ secrets.WAKE_TIME }}
SLEEP_TIME: ${{ secrets.SLEEP_TIME }}
TIME_ZONE: ${{ secrets.TIME_ZONE }}