name: Rust CI/CD with Docker
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker Image
run: docker build -t named-colors .
- name: Run Tests
run: docker run named-colors cargo test --release
- name: Push Docker Image to DockerHub
if: success() run: |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
docker tag named-colors ${{ secrets.DOCKER_USERNAME }}/named-colors:latest
docker push ${{ secrets.DOCKER_USERNAME }}/named-colors:latest