From a36383f79adb3935aa3f27e6f750c86f1a6e48f6 Mon Sep 17 00:00:00 2001
From: Salt <rehashedsalt@cock.li>
Date: Thu, 8 Apr 2021 14:14:42 -0500
Subject: [PATCH] Add CI stuff

---
 .gitlab-ci.yml | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
 Dockerfile     |  3 ++
 2 files changed, 82 insertions(+)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..cc05f5b
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,79 @@
+#
+# This guy is awesome: https://dev.to/bzinoun/gitlab-ci-to-build-and-push-containers-to-registry-538a
+#
+
+image: morlay/buildx:607a2ce
+variables:
+  # DinD's vfs driver is pretty intensive; this is less so
+  DOCKER_DRIVER: overlay2
+  CI_HUB_USERNAME: rehashedsalt
+stages:
+  - build
+#  - test
+  - push
+services:
+  - docker:dind
+before_script:
+  - echo -n "$CI_LOGIN_PASSWORD" | docker login -u "$CI_LOGIN_USERNAME" --password-stdin
+  - docker version
+  - docker info
+after_script:
+  - docker logout hub.docker.com
+
+# BUILD
+Build:
+  stage: build
+  script:
+    - docker pull $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest || true
+    - docker buildx create --use
+    - >
+      docker buildx build
+      --pull
+      --platform linux/amd64,linux/arm64
+      --cache-from $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest
+      --tag $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+      --push
+      .
+    - docker images
+
+# TEST
+# TODO: Fix this
+#Test_HTTP_200:
+#  stage: test
+#  script:
+#    - apk add curl
+#    - docker run -d -p 8889:80 $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+#    - sleep 10
+#    - docker ps
+#    - netstat -tulpn
+#    - curl localhost:8889 | grep -ie '200 OK'
+#    - docker kill $(docker ps -q)
+
+# PUSH
+Push_When_Tag:
+  stage: push
+  only:
+    - tags
+  script:
+    - docker pull $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+    - >
+      docker tag
+      $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+      $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
+    - >
+      docker tag
+      $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+      $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest
+    - docker images
+    - docker push $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
+    - docker push $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest
+Push_Bleeding:
+  stage: push
+  script:
+    - docker pull $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+    - >
+      docker tag
+      $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
+      $CI_HUB_USERNAME/$CI_PROJECT_NAME:bleeding
+    - docker images
+    - docker push $CI_HUB_USERNAME/$CI_PROJECT_NAME:bleeding
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..5cf38e0
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,3 @@
+FROM php:7-apache
+COPY ./ /var/www/html/
+EXPOSE 80