diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9622ebd4ab..ac9c92abd9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,10 +21,15 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Run tests + run: | + npm install + npx ava tests/*.test.js + - name: Generate creds.json run: echo '{"cloudflare":{"TYPE":"CLOUDFLAREAPI","apitoken":"$CLOUDFLARE_API_TOKEN"}}' > ./creds.json - - name: Publish + - name: Push DNS records uses: is-a-dev/dnscontrol-action@main env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index f24d6052df..fa0fa8f5f4 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -19,14 +19,13 @@ concurrency: cancel-in-progress: true jobs: - dns: - name: DNS + dnscontrol: + name: DNSControl runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Check - uses: is-a-dev/dnscontrol-action@main + - uses: is-a-dev/dnscontrol-action@main with: args: check @@ -38,5 +37,4 @@ jobs: - run: npm install - - name: Run tests - run: npx ava tests/*.test.js + - run: npx ava tests/*.test.js diff --git a/domains/_atproto.raccoon.json b/domains/_atproto.raccoon.json new file mode 100644 index 0000000000..2fdc4f971a --- /dev/null +++ b/domains/_atproto.raccoon.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "nilsraccoon", + "discord": "1129507464589627512" + }, + "record": { + "TXT": "did=did:plc:25w7vwbzb2e3h7cnflqskp37" + } +} diff --git a/domains/_discord.krunch.json b/domains/_discord.krunch.json index 1a376298a4..200efe570e 100644 --- a/domains/_discord.krunch.json +++ b/domains/_discord.krunch.json @@ -1,7 +1,7 @@ { "owner": { "username": "RadioactivePotato", - "discord": "krunchiekrunch._." + "discord": "1166013268008120340" }, "record": { "TXT": "dh=df2bf9fb87a1dc3ee29c6ddfa51ed86da28581c5" diff --git a/domains/_github-pages-challenge-devhammed.hammed.json b/domains/_github-pages-challenge-devhammed.hammed.json new file mode 100644 index 0000000000..44413c068c --- /dev/null +++ b/domains/_github-pages-challenge-devhammed.hammed.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "devhammed", + "email": "hey@hammed.dev" + }, + "record": { + "TXT": "7672b068b3140a9fbaaf9bfe0ab136" + } +} diff --git a/domains/_github-pages-challenge-narasimapandiyan.narasima.json b/domains/_github-pages-challenge-narasimapandiyan.narasima.json new file mode 100644 index 0000000000..8b779a899a --- /dev/null +++ b/domains/_github-pages-challenge-narasimapandiyan.narasima.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "NarasimaPandiyan", + "email": "cs42059@gmail.com" + }, + "record": { + "TXT": "0cd2fb39489f7652da9a4942df4a75" + } +} diff --git a/domains/_github-pages-challenge-radioactivepotato.krunch.json b/domains/_github-pages-challenge-radioactivepotato.krunch.json index f8c99bf1d8..2ddd73ce09 100644 --- a/domains/_github-pages-challenge-radioactivepotato.krunch.json +++ b/domains/_github-pages-challenge-radioactivepotato.krunch.json @@ -1,7 +1,7 @@ { "owner": { "username": "RadioactivePotato", - "discord": "krunchiekrunch._." + "discord": "1166013268008120340" }, "record": { "TXT": "05dc6febabf44f8decab35d01609ee" diff --git a/domains/_vercel.jumanji.json b/domains/_vercel.blog.jumanji.json similarity index 100% rename from domains/_vercel.jumanji.json rename to domains/_vercel.blog.jumanji.json diff --git a/domains/_vercel.willymateo.json b/domains/_vercel.willymateo.json new file mode 100644 index 0000000000..e04aa1f68b --- /dev/null +++ b/domains/_vercel.willymateo.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "willymateo", + "email": "matheoowilly@gmail.com", + "discord": "willycocolon" + }, + "record": { + "TXT": "vc-domain-verify=willymateo.is-a.dev,6c7018f1721c84a520df" + } +} diff --git a/domains/aasoft.json b/domains/aasoft.json new file mode 100644 index 0000000000..7a1b6c67cb --- /dev/null +++ b/domains/aasoft.json @@ -0,0 +1,10 @@ +{ + "description": "alireza mohebbi threejs project - aasoft.ir", + "owner": { + "username": "aasoftir", + "email": "aasoftmohebbi@gmail.com" + }, + "record": { + "URL": "https://glitch-text-threejs.vercel.app/" + } +} diff --git a/domains/boudjo.json b/domains/boudjo.json new file mode 100644 index 0000000000..f7f82317aa --- /dev/null +++ b/domains/boudjo.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "boudjoo", + "email": "abdouboudjo1@gmail.com" + }, + "record": { + "CNAME": "boudjoo.github.io" + } +} diff --git a/domains/callcon.json b/domains/callcon.json new file mode 100644 index 0000000000..9db82545c2 --- /dev/null +++ b/domains/callcon.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "ItzYoVishal", + "email": "rockstarelitecoc@gmail.com" + }, + "record": { + "A": ["4.157.244.201"] + } +} diff --git a/domains/enlaces.alexxhumilde.json b/domains/enlaces.alexxhumilde.json new file mode 100644 index 0000000000..664a71d3bf --- /dev/null +++ b/domains/enlaces.alexxhumilde.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "ALEXXHUMILDE", + "email": "alexxcrack3@gmail.com" + }, + "record": { + "CNAME": "enlaces-alexxhumilde.netlify.app" + } +} diff --git a/domains/fabianf4.json b/domains/fabianf4.json new file mode 100644 index 0000000000..c50d834f82 --- /dev/null +++ b/domains/fabianf4.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "fabianf4", + "email": "fabianfa.munoz@gmail.com" + }, + "record": { + "CNAME": "fabianf4.github.io" + } +} diff --git a/domains/gulsah.json b/domains/gulsah.json new file mode 100644 index 0000000000..a2b1f07bc8 --- /dev/null +++ b/domains/gulsah.json @@ -0,0 +1,11 @@ +{ + "description": "The portfolio site of Gülşah Düzgün", + "repo": "https://github.com/GulsahDuzgun/Portfolio", + "owner": { + "username": "GulsahDuzgun", + "email": "duzgun.gulsah27@gmail.com" + }, + "record": { + "CNAME": "gulsah.netlify.app" + } +} diff --git a/domains/hammed.json b/domains/hammed.json new file mode 100644 index 0000000000..8db9ef2856 --- /dev/null +++ b/domains/hammed.json @@ -0,0 +1,11 @@ +{ + "description": "Link to my portfolio site.", + "repo": "https://github.com/devhammed/devhammed.github.io", + "owner": { + "username": "devhammed", + "email": "hey@hammed.dev" + }, + "record": { + "CNAME": "devhammed.github.io" + } +} diff --git a/domains/krunch.json b/domains/krunch.json index fa6655cf62..80350c61e5 100644 --- a/domains/krunch.json +++ b/domains/krunch.json @@ -3,7 +3,7 @@ "repo": "https://github.com/RadioactivePotato/krunch-is-a-dev", "owner": { "username": "RadioactivePotato", - "discord": "krunchiekrunch._." + "discord": "1166013268008120340" }, "record": { "CNAME": "krunch.pages.dev" diff --git a/domains/link.krunch.json b/domains/link.krunch.json deleted file mode 100644 index 75476d8e70..0000000000 --- a/domains/link.krunch.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "RadioactivePotato", - "discord": "krunchiekrunch._." - }, - "record": { - "CNAME": "cname.short.io" - } -} diff --git a/domains/luisandre.json b/domains/luisandre.json index d6accd1e91..e8cdec4bdd 100644 --- a/domains/luisandre.json +++ b/domains/luisandre.json @@ -4,7 +4,6 @@ "email": "luis073094@gmail.com" }, "record": { - "URL": "https://portafolioluisandre.azurewebsites.net", - "A": ["20.206.176.7"] + "URL": "https://portafolioluisandre.azurewebsites.net" } } diff --git a/domains/mail.krunch.json b/domains/mail.krunch.json index 45b36bb29b..cdeedf725c 100644 --- a/domains/mail.krunch.json +++ b/domains/mail.krunch.json @@ -1,8 +1,8 @@ { - "description": "ImprovMX Email", + "description": "ImprovMX Mail Forwarding", "owner": { "username": "RadioactivePotato", - "discord": "krunchiekrunch._." + "discord": "1166013268008120340" }, "record": { "MX": ["mx1.improvmx.com", "mx2.improvmx.com"], diff --git a/domains/marcos.json b/domains/marcos.json new file mode 100644 index 0000000000..ee2c000276 --- /dev/null +++ b/domains/marcos.json @@ -0,0 +1,11 @@ +{ + "description": "Developer portfolio", + "repo": "https://github.com/mtoranzo", + "owner": { + "username": "mtoranzo", + "email": "mtoranzo@gmail.com" + }, + "record": { + "CNAME": "mtoranzo.github.io" + } +} \ No newline at end of file diff --git a/domains/minhtuan-1.json b/domains/minhtuan-1.json new file mode 100644 index 0000000000..b7f2b9ffca --- /dev/null +++ b/domains/minhtuan-1.json @@ -0,0 +1,11 @@ +{ + "description": "profile-tuan.dev", + "owner": { + "username": "tuannguyen2002", + "email": "nxmtuan.2002@gmail.com", + "discord": "nightfury06749" + }, + "record": { + "CNAME": "cname.vercel-dns.com" + } +} diff --git a/domains/sticknologic.json b/domains/sticknologic.json new file mode 100644 index 0000000000..0a6a40d50d --- /dev/null +++ b/domains/sticknologic.json @@ -0,0 +1,16 @@ +{ + "description": "Simple Portfolio and Blog Website", + "repo": "https://github.com/sticknologic", + "owner": { + "username": "sticknologic", + "x": "STICKnoLOGIC", + "facebook":"STICKnoLOGIC", + "bsky":"STICKnoLOGIC" + }, + "record": { + "NS": [ + "ns1.heliohost.org", + "ns2.heliohost.org" + ] + } +} diff --git a/domains/tafviet.json b/domains/tafviet.json new file mode 100644 index 0000000000..e28823b638 --- /dev/null +++ b/domains/tafviet.json @@ -0,0 +1,11 @@ +{ + "description": "Landing page for tafviet.is-a.dev", + "repo": "https://github.com/is-a-dev/docs", + "owner": { + "username": "is-a-dev", + "email": "meccar@protonmail.com" + }, + "record": { + "CNAME": "meccar.github.io" + } +} diff --git a/domains/wiki.chuyentinorz.json b/domains/wiki.chuyentinorz.json new file mode 100644 index 0000000000..6b2ef87e4e --- /dev/null +++ b/domains/wiki.chuyentinorz.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "akk1to", + "email": "akk1to.dev@gmail.com", + "discord": "727497287777124414" + }, + "record": { + "CNAME": "akk1to.github.io" + } +} diff --git a/domains/willymateo.json b/domains/willymateo.json new file mode 100644 index 0000000000..6816fa2970 --- /dev/null +++ b/domains/willymateo.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "willymateo", + "email": "matheoowilly@gmail.com", + "discord": "willycocolon" + }, + "record": { + "CNAME": "willymateo.vercel.app" + } +} diff --git a/domains/yousef.json b/domains/yousef.json new file mode 100644 index 0000000000..28ce8749c5 --- /dev/null +++ b/domains/yousef.json @@ -0,0 +1,11 @@ +{ + "description": "Portfolio for Yousef Yasser", + "repo": "https://github.com/yys-yss/yys-yss.github.io", + "owner": { + "username": "yys-yss", + "email": "yousefyassersalah@gmail.com" + }, + "record": { + "CNAME": "yys-yss.github.io" + } +} diff --git a/tests/records.test.js b/tests/records.test.js index de5ecbadc1..fdf2a17e9f 100644 --- a/tests/records.test.js +++ b/tests/records.test.js @@ -83,7 +83,6 @@ t("All files should have valid record types", (t) => { t.true(validateRecordType(key), `${file}: Invalid record type: ${key}`); }); - // Specific record rules for CNAME, NS, and DS if (recordKeys.includes("CNAME") && !data.proxied) { t.is(recordKeys.length, 1, `${file}: CNAME records cannot be combined with other records unless proxied`); } @@ -98,7 +97,13 @@ t("All files should have valid record types", (t) => { if (recordKeys.includes("DS")) { t.true(recordKeys.includes("NS"), `${file}: DS records must be combined with NS records`); } + + if (recordKeys.includes("URL")) { + t.true(!recordKeys.includes("A") && !recordKeys.includes("AAAA") && !recordKeys.includes("CNAME"), `${file}: URL records cannot be combined with A, AAAA, or CNAME records`); + } }); + + t.pass(); }); t("All files should not have duplicate record keys", (t) => {