name: tests and publish docker container on: push: tags: - '**' jobs: all: runs-on: ubuntu-latest env: CXX: g++-4.8 steps: - name: Checkout repo and subrepos uses: actions/checkout@v2 with: submodules: recursive - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up node uses: actions/setup-node@v2 with: node-version: '10' - name: Update packages run: sudo apt update -qq - name: Install apt packages run: sudo apt-get install -y libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++ xvfb libgles2-mesa-dev libgbm-dev libxxf86vm-dev - name: Install node dependencies run: npm install - name: Download test data run: wget -O test_data.zip https://github.com/maptiler/tileserver-gl/releases/download/v1.3.0/test_data.zip - name: Unzip test data run: unzip -q test_data.zip -d test_data - name: Run tests run: xvfb-run --server-args="-screen 0 1024x768x24" npm test - name: Build and publish to Docker Hub uses: docker/build-push-action@v2 with: context: . push: true tags: kombinat451/tileserver-gl:latest, kombinat451/tileserver-gl:${{github.ref_name}}