11# https://help.github.com/en/actions/language-and-framework-guides/publishing-docker-images#publishing-images-to-github-packages
22name : Publish Docker image
3+
34on :
5+
46 push :
5- # Push to `master` or `development`
67 branches :
78 - master
89 - development
910 - docker_workflow
1011
1112jobs :
13+
1214 push_to_registry :
1315 name : Push Docker image to GitHub Packages
1416 runs-on : ubuntu-latest
17+
1518 steps :
1619 - name : Check out the repo
1720 uses : actions/checkout@v2
21+ with :
22+ submodules : recursive
23+
1824 - name : Extract branch name
1925 shell : bash
2026 run : echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
2127 id : extract_branch
28+
2229 - name : Push to GitHub Packages
2330 uses : docker/build-push-action@v1
2431 with :
@@ -28,26 +35,32 @@ jobs:
2835 repository : automl/auto-sklearn/auto-sklearn
2936 tag_with_ref : true
3037 tags : ${{ steps.extract_branch.outputs.branch }}
38+
3139 - name : Push to Docker Hub
3240 uses : docker/build-push-action@v1
3341 with :
3442 username : ${{ secrets.DOCKER_USERNAME }}
3543 password : ${{ secrets.DOCKER_PASSWORD }}
3644 repository : mfeurer/auto-sklearn
3745 tags : ${{ steps.extract_branch.outputs.branch }}
46+
3847 - name : Docker Login
3948 run : docker login docker.pkg.github.com -u $GITHUB_ACTOR -p $GITHUB_TOKEN
4049 env :
4150 GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
51+
4252 - name : Pull Docker image
4353 run : docker pull docker.pkg.github.com/$GITHUB_REPOSITORY/auto-sklearn:$BRANCH
4454 env :
4555 BRANCH : ${{ steps.extract_branch.outputs.branch }}
56+
4657 - name : Run image
4758 run : docker run -i -d --name unittester -v $GITHUB_WORKSPACE:/workspace -w /workspace docker.pkg.github.com/$GITHUB_REPOSITORY/auto-sklearn:$BRANCH
4859 env :
4960 BRANCH : ${{ steps.extract_branch.outputs.branch }}
61+
5062 - name : Auto-Sklearn loaded
5163 run : docker exec -i unittester python3 -c 'import autosklearn; print(f"Auto-sklearn imported from {autosklearn.__file__}")'
64+
5265 - name : Run unit testing
5366 run : docker exec -i unittester python3 -m pytest -v test
0 commit comments