diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..918b1f43 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,71 @@ +name: Test, Build, and Deploy | Modul 01 - Lab2.2 Senior Project + +on: + push: + branches: [main] + +jobs: + test-build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x] + + steps: + - uses: actions/checkout@v4 + - name: Testing Build pre-Deploy + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + - run: npm i + - run: npm run build + + deploy: + needs: test-build + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x] + + steps: + - name: Build app on VM + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + password: ${{ secrets.PASSWORD }} + port: ${{ secrets.PORT }} + + script: | + eval "$(ssh-agent -s)" + ssh-add ~/.ssh/ssh-praktikan4 + + export NODE_OPTIONS="--max-old-space-size=512" + + echo "Cek folder project"; + if [ ! -d "${HOME}/senpro/515523/modul02/senpro-github-action/" ]; then + echo "Repository belum di-clone. Cloning..."; + mkdir -p ~/senpro/515523/modul02; + cd ~/senpro/515523/modul02; + git clone https://github.com/fuykaa/senpro-github-action.git; + cd ~/senpro/515523/modul02/senpro-github-action; + echo "Install Package dan Build Project"; + npm install; + npm run build; + else + echo "Repository sudah ada. Building..."; + cd ~/senpro/515523/modul02/senpro-github-action; + git restore .; + git pull origin main; + + + echo "Membersihkan node_modules dan cache lama yang rusak..."; + rm -rf node_modules .next; + + echo "Install Package dan Build Project"; + npm install; + npm run build; + fi diff --git a/jsconfig.json b/jsconfig.json index abe04df5..babf8fb3 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -5,4 +5,4 @@ "@/*": ["./src/*"] } } -} +} \ No newline at end of file diff --git a/src/pages/index.js b/src/pages/index.js index ba9f0517..c5da486a 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -30,7 +30,7 @@ export default function Home() {