Skip to content

Dev

Dev #230

Workflow file for this run

# +-----------------------------------------------+
# | WARNING: This file is generated, do not edit! |
# | Edit _templates/dev.yml.erb instead. |
# +-----------------------------------------------+
name: Dev
on:
workflow_dispatch:
push:
branches-ignore:
- master
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install npm dependencies
run: npm install
- name: Lint - check formatting
run: npm run lint:formatting
# run a common set of tests against ALL images
smoke-tests:
needs: [lint]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
base:
- clojure
tag:
- clojure
target:
- linux
include:
- base: clojure:boot
tag: clojure-boot
target: linux
- base: clojure:lein
tag: clojure-lein
target: linux
- base: clojure:tools-deps
tag: clojure-tools-deps
target: linux
- base: elixir
tag: elixir
target: linux
- base: elixir:1.10
tag: elixir-1.10
target: linux
- base: elixir:1.11
tag: elixir-1.11
target: linux
- base: elixir:1.12
tag: elixir-1.12
target: linux
- base: golang
tag: golang
target: linux
- base: golang:1.20
tag: golang-1.20
target: linux
- base: golang:1.21
tag: golang-1.21
target: linux
- base: golang:1.22
tag: golang-1.22
target: linux
- base: gradle
tag: gradle
target: linux
- base: gradle:jdk11
tag: gradle-jdk11
target: linux
- base: gradle:jdk12
tag: gradle-jdk12
target: linux
- base: gradle:jdk13
tag: gradle-jdk13
target: linux
- base: gradle:jdk14
tag: gradle-jdk14
target: linux
- base: gradle:jdk16
tag: gradle-jdk16
target: linux
- base: gradle:jdk17
tag: gradle-jdk17
target: linux
- base: gradle:jdk18
tag: gradle-jdk18
target: linux
- base: gradle:jdk19
tag: gradle-jdk19
target: linux
- base: gradle:jdk20
tag: gradle-jdk20
target: linux
- base: gradle:jdk21
tag: gradle-jdk21
target: linux
- base: gradle:jdk8
tag: gradle-jdk8
target: linux
- base: maven
tag: maven
target: linux
- base: maven:3-eclipse-temurin-17
tag: maven-3-jdk-17
target: linux
- base: maven:3-eclipse-temurin-20
tag: maven-3-jdk-20
target: linux
- base: maven:3-eclipse-temurin-21
tag: maven-3-jdk-21
target: linux
- base: maven:3-eclipse-temurin-22
tag: maven-3-jdk-22
target: linux
- base: maven:3-jdk-11
tag: maven-3-jdk-11
target: linux
- base: maven:3-jdk-8
tag: maven-3-jdk-8
target: linux
- base: mcr.microsoft.com/dotnet/core/sdk
tag: dotnet
target: linux
- base: mcr.microsoft.com/dotnet/sdk:8.0
tag: dotnet-8.0
target: linux
- base: node
tag: node
target: linux
- base: node:18
tag: node-18
target: linux
- base: node:20
tag: node-20
target: linux
- base: node:22
tag: node-22
target: linux
- base: python
tag: python
target: linux
- base: python:3.8
tag: python-3.8
target: linux
- base: python:3.9
tag: python-3.9
target: linux
- base: python:3.10
tag: python-3.10
target: linux
- base: python:3.11
tag: python-3.11
target: linux
- base: python:3.12
tag: python-3.12
target: linux
- base: ruby
tag: ruby
target: linux
- base: ruby:3.3
tag: ruby-3.3
target: linux
- base: swift
tag: swift
target: linux
- base: ubuntu
tag: linux
target: linux
- base: sbtscala/scala-sbt:eclipse-temurin-jammy-22_36_1.10.0_3.4.2
tag: sbt1.10.0-scala3.4.2
target: linux
- base: alpine
tag: alpine
target: alpine
- base: alpine
tag: cocoapods
target: alpine
- base: composer
tag: composer
target: alpine
- base: composer
tag: php
target: alpine
- base: docker:latest
tag: docker
target: alpine
- base: docker:latest
tag: docker-latest
target: alpine
- base: python:alpine
tag: python-alpine
target: alpine
- base: ruby:alpine
tag: ruby-alpine
target: alpine
steps:
- uses: actions/checkout@v2
- name: Build all images
uses: docker/build-push-action@v2
with:
push: false
tags: ${{ matrix.tag }}
file: Dockerfile
target: ${{ matrix.target }}
build-args: |
IMAGE=${{ matrix.base }}
TAG=${{ matrix.tag }}
- name: Show images
run: docker image ls
- name: Install npm dependencies
run: npm install
- name: Run tests
run: npm run test:smoke
env:
SNYK_TOKEN: ${{secrets.SNYK_TOKEN}}
IMAGE_TAG: ${{ matrix.tag }}
# Select tests against specific images
image-specific-tests:
needs: [lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build `python-3.8` image for test
uses: docker/build-push-action@v2
with:
push: false
tags: python-3.8
file: Dockerfile
target: linux
build-args: |
IMAGE=python:3.8
TAG=python-3.8
- name: Show images
run: docker image ls
- name: Install npm dependencies
run: npm install
- name: Run tests
run: npx jest test/image-specific/python-3-poetry.spec.ts
env:
SNYK_TOKEN: ${{secrets.SNYK_TOKEN}}