You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

141 lines
3.9 KiB

name: basket-api
on:
push:
branches:
- master
- dev
- feature/github-actions
paths:
- src/BuildingBlocks/*
- src/Services/Basket/*
- .github/workflows/basket-api.yml
pull_request:
branches:
- master
- dev
env:
REGISTRY_ENDPOINT: borjasanes
REGISTRY_HOST: docker.io
SERVICE: basket-api
IMAGE: basket.api
jobs:
BuildContainersForPR_Linux:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' }}
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
working-directory: ./src
shell: bash
env:
TAG: ${{ env.BRANCH }}
REGISTRY: ${{ env.REGISTRY_ENDPOINT }}
BuildContainersForPR_Windows:
runs-on: windows-2019
if: ${{ false }}
# if: ${{ github.event_name == 'pull_request' }}
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
- name: Compose build ${{ env.SERVICE }}
run: docker-compose build ${{ env.SERVICE }}
working-directory: ./src
shell: pwsh
env:
TAG: ${{ env.BRANCH }}
REGISTRY: ${{ env.REGISTRY_ENDPOINT }}
BuildLinux:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' }}
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
- name: Login to Container Registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY_HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
- name: Set branch name as env variable
run: |
currentbranch=$(echo ${GITHUB_REF##*/})
echo "running on $currentbranch"
echo "BRANCH=$currentbranch" >> $GITHUB_ENV
shell: bash
- name: Compose build ${{ env.SERVICE }}
run: sudo -E docker-compose build ${{ env.SERVICE }}
working-directory: ./src
shell: bash
env:
TAG: ${{ env.BRANCH }}
REGISTRY: ${{ env.REGISTRY_ENDPOINT }}
- name: Compose push ${{ env.SERVICE }}
run: sudo -E docker-compose push ${{ env.SERVICE }}
working-directory: ./src
shell: bash
env:
TAG: ${{ env.BRANCH }}
REGISTRY: ${{ env.REGISTRY_ENDPOINT }}
- name: Create multiarch manifest
run: |
sudo sed '$ s/.$//' ~/.docker/config.json
echo ',"experimental": "enabled" }' >> ~/.docker/config.json
sudo service docker restart
cat ~/.docker/config.json
docker --config ~/.docker manifest create ${{ env.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:${{ env.BRANCH }} ${{ env.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:linux-${{ env.BRANCH }}
docker --config ~/.docker manifest push ${{ env.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:${{ env.BRANCH }}
shell: bash
BuildWindows:
runs-on: windows-2019
if: ${{ false }}
# if: ${{ github.event_name != 'pull_request' }}
steps:
- name: 'Checkout Github Action'
uses: actions/checkout@master
- name: Login to Container Registry
uses: azure/docker-login@v1
with:
login-server: ${{ env.REGISTRY_HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
- name: Set branch name as env variable
shell: pwsh
run: echo "BRANCH=$($env:GITHUB_REF.replace('refs/heads/', ''))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Compose build ${{ env.SERVICE }}
run: docker-compose build ${{ env.SERVICE }}
working-directory: ./src
shell: pwsh
env:
TAG: ${{ env.BRANCH }}
REGISTRY: ${{ env.REGISTRY_ENDPOINT }}
- name: Compose push ${{ env.SERVICE }}
run: docker-compose push ${{ env.SERVICE }}'
working-directory: ./src
shell: pwsh
env:
TAG: ${{ env.BRANCH }}
REGISTRY: ${{ env.REGISTRY_ENDPOINT }}